<!DOCTYPE html>
<html lang="en" class="no-js">
  <script src="https://code.jquery.com/jquery-3.2.1.min.js"></script>
  <script src="https://cdn.jsdelivr.net/npm/clipboard@1/dist/clipboard.min.js"></script>
  <head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<meta name="generator" content="Hugo 0.55.6" />

<META NAME="ROBOTS" CONTENT="INDEX, FOLLOW">

<link rel="alternate" type="application/rss&#43;xml" href="/index.xml">

<link rel="shortcut icon" href="/assets/favicons/favicon.ico" >
<link rel="apple-touch-icon" href="/assets/favicons/apple-touch-icon.png" sizes="180x180">
<link rel="icon" type="image/png" href="/assets/favicons/favicon-16x16.png" sizes="16x16">
<link rel="icon" type="image/png" href="/assets/favicons/favicon-32x32.png" sizes="32x32">
<link rel="icon" type="image/png" href="/assets/favicons/android-144x144.png" sizes="36x36">
<link rel="icon" type="image/png" href="/assets/favicons/android-144x144.png" sizes="48x48">
<link rel="icon" type="image/png" href="/assets/favicons/android-144x144.png" sizes="72x72">
<link rel="icon" type="image/png" href="/assets/favicons/android-144x144.png" sizes="96x196">
<link rel="icon" type="image/png" href="/assets/favicons/android-144x144.png" sizes="144x144">
<link rel="icon" type="image/png" href="/assets/favicons/android-192x192.png"sizes="192x192">

<title>Documentation | Meshery</title>
<meta property="og:title" content="Documentation" />
<meta property="og:description" content="Meshery is the open source, cloud native management plane that enables the adoption, operation, and management of Kubernetes, any service mesh, and their workloads.
" />
<meta property="og:type" content="website" />
<meta property="og:url" content="http://localhost:4000" />
<meta property="og:site_name" content="http://localhost:4000" />

<meta itemprop="name" content="Documentation">
<meta itemprop="description" content="Meshery is the open source, cloud native management plane that enables the adoption, operation, and management of Kubernetes, any service mesh, and their workloads.
">

<meta name="twitter:card" content="summary"/>
<meta name="twitter:title" content="Documentation"/>
<meta name="twitter:description" content="Meshery is the open source, cloud native management plane that enables the adoption, operation, and management of Kubernetes, any service mesh, and their workloads.
"/>

<link rel="stylesheet" href="/assets/css/main.css">
<link rel="stylesheet" href="/assets/css/palette.css">
<link rel="stylesheet" href="/assets/css/anchorjs.css">
<link rel="stylesheet" href="/assets/css/sass.css" />
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.11.2/css/all.css">

<script
  src="https://code.jquery.com/jquery-3.3.1.min.js"
  integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8="
  crossorigin="anonymous"></script>
  <!-- Anchorjs included for adding hover anchor links to headings -->
  <script src="https://cdnjs.cloudflare.com/ajax/libs/anchor-js/4.2.2/anchor.min.js"></script>
  <script>
  $(function() {
  /** AnchorJS options and selector */
   anchors.options = {
      visible : 'hover',
      placement: 'left'
   };
   anchors.add('h1, h2, h3, h4, h5');
   });
   </script>
</head>
<style>

</style>
  <body class="td-section">
    <header>
  <nav class="js-navbar-scroll navbar navbar-expand navbar-dark flex-column flex-md-row td-navbar">
    <a class="navbar-brand" href="/">
      <div class="navbar-logo">
        <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 279.49 51.83"><defs><style>.cls-1{fill:#00d3a9}.cls-2{fill:#00b39f}.cls-3{fill:#fff}</style></defs><title>Asset 14</title><g id="Layer_2" data-name="Layer 2"><g id="Layer_1-2" data-name="Layer 1"><polygon points="26.68 12.21 26.68 24.59 37.4 18.38 26.68 12.21" class="cls-1"/><polygon points="26.68 27.18 26.68 39.62 37.5 33.43 26.68 27.18" class="cls-1"/><polygon points="25.13 24.51 25.13 12.32 14.54 18.39 25.13 24.51" class="cls-2"/><path d="M3.88,39.58a26,26,0,0,0,8.22,8.27v-13Z" class="cls-2"/><polygon points="25.13 39.56 25.13 27.27 14.51 33.42 25.13 39.56" class="cls-2"/><polygon points="13.64 47.07 24.4 40.92 13.64 34.7 13.64 47.07" class="cls-1"/><polygon points="38.24 47.14 38.24 34.79 27.5 40.93 38.24 47.14" class="cls-2"/><path d="M48.76,38.14A25.71,25.71,0,0,0,51.8,27L40.6,33.44Z" class="cls-2"/><polygon points="39.78 32.13 50.58 25.95 39.78 19.75 39.78 32.13" class="cls-1"/><polygon points="38.24 17.08 38.24 4.81 27.55 10.94 38.24 17.08" class="cls-2"/><polygon points="38.24 32.07 38.24 19.68 27.52 25.89 38.24 32.07" class="cls-2"/><polygon points="25.9 51.83 25.91 51.83 25.9 51.83 25.9 51.83" class="cls-2"/><polygon points="13.64 19.66 13.64 32.14 24.43 25.89 13.64 19.66" class="cls-1"/><path d="M25.13,0A25.75,25.75,0,0,0,13.75,3L25.13,9.55Z" class="cls-2"/><polygon points="13.64 4.72 13.64 17.13 24.44 10.93 13.64 4.72" class="cls-1"/><path d="M12.1,4a26,26,0,0,0-8.22,8.27L12.1,17Z" class="cls-2"/><path d="M38.17,3.07A25.8,25.8,0,0,0,26.68,0V9.65Z" class="cls-1"/><path d="M0,26.82A25.76,25.76,0,0,0,3.1,38.24l8.32-4.82Z" class="cls-1"/><path d="M3.1,13.58A25.67,25.67,0,0,0,0,24.94l11.44-6.55Z" class="cls-1"/><path d="M13.73,48.8a25.81,25.81,0,0,0,11.4,3V42.28Z" class="cls-2"/><path d="M48,12.28A25.91,25.91,0,0,0,39.78,4V17Z" class="cls-1"/><path d="M39.78,47.8A26,26,0,0,0,48,39.48l-8.21-4.73Z" class="cls-1"/><path d="M51.8,24.88a25.84,25.84,0,0,0-3.07-11.27l-8.24,4.77Z" class="cls-2"/><path d="M26.68,51.82a25.81,25.81,0,0,0,11.37-3L26.68,42.24Z" class="cls-1"/><polygon points="12.1 32.03 12.1 19.79 1.47 25.88 12.1 32.03" class="cls-2"/><polygon points="197.13 19 197.13 20.13 197.13 25.45 197.13 31.94 197.13 41.41 222.35 41.41 222.35 36.09 202.45 36.09 202.45 31.94 202.45 30.77 217.74 30.77 217.74 25.45 202.45 25.45 202.45 20.13 222.35 20.13 222.35 14.81 197.13 14.81 197.13 19" class="cls-3"/><polygon points="100.14 19 100.14 20.13 100.14 25.45 100.14 31.94 100.14 41.41 125.35 41.41 125.35 36.09 105.46 36.09 105.46 31.94 105.46 30.77 120.74 30.77 120.74 25.45 105.46 25.45 105.46 20.13 125.35 20.13 125.35 14.81 100.14 14.81 100.14 19" class="cls-3"/><path d="M160.26,34.46a6.61,6.61,0,0,1-.55,2.69,7,7,0,0,1-1.51,2.22A7.34,7.34,0,0,1,156,40.86a6.7,6.7,0,0,1-2.71.55H128.38v-5.6h24.89a1.35,1.35,0,0,0,1.35-1.35V32.29A1.33,1.33,0,0,0,153.27,31H135.36a6.78,6.78,0,0,1-2.69-.55,7.19,7.19,0,0,1-2.24-1.51,7,7,0,0,1-1.5-2.23,6.62,6.62,0,0,1-.55-2.7V21.8a6.75,6.75,0,0,1,.55-2.72,7,7,0,0,1,1.5-2.21,7.19,7.19,0,0,1,2.24-1.51,6.61,6.61,0,0,1,2.69-.55h24.9v5.64h-24.9a1.27,1.27,0,0,0-1,.39,1.31,1.31,0,0,0-.4,1V24a1.31,1.31,0,0,0,.4,1,1.27,1.27,0,0,0,1,.39h17.91a6.7,6.7,0,0,1,2.71.55,7.11,7.11,0,0,1,3.73,3.72,6.74,6.74,0,0,1,.55,2.71Z" class="cls-3"/><path d="M193.81,41.41h-5.07V31H169V41.41h-5.08V25.31h24.86V14.81h5.07ZM169,22.81h-5.08v-8H169Z" class="cls-3"/><polygon points="266.19 24.12 259.55 14.81 252.9 14.81 263.54 30.77 263.54 41.41 268.86 41.41 268.86 30.77 279.49 14.81 272.93 14.81 266.19 24.12" class="cls-3"/><path d="M231.4,19.88H245v5.53h-11v5.08h2.52l9.65,10.92h6.57l-9.65-10.92h3.76A4.13,4.13,0,0,0,251,26.36V18.94a4.13,4.13,0,0,0-4.13-4.13H226.19v26.6h5.32Z" class="cls-3"/><path d="M96.05,41.41H90.41V22a1.38,1.38,0,0,0-.13-.6,1.56,1.56,0,0,0-.33-.5,1.77,1.77,0,0,0-.5-.34,1.53,1.53,0,0,0-.6-.12H62.78V14.81H88.85a6.88,6.88,0,0,1,2.78.57,7.08,7.08,0,0,1,3.85,3.85A6.88,6.88,0,0,1,96.05,22Zm-27.63,0H62.78v-21l5.64-1.55Zm13.8,0H76.58v-18h5.64Z" class="cls-3"/></g></g></svg><span class="font-weight-bold" style="vertical-align: bottom"
          >Documentation</span
        >
      </div>
    </a>
    <div class="td-navbar-nav-scroll ml-md-auto" id="main_navbar">
      <ul class="navbar-nav mt-2 mt-lg-0">
        <!--
			<li class="nav-item mr-4 mb-2 mb-lg-0">
        <a class="nav-link" href="https://github.com/meshery/meshery" target="_blank"><span>GitHub</span></a>
      </li>  -->

        <!-- Internal links -->

            <li class="nav-item mr-4 mb-2 mb-lg-0">
              <a
                class="nav-link"
                href="/v0.5/installation/quick-start"
                ><span>Quick Start</span></a
              >
            </li>

            <li class="nav-item mr-4 mb-2 mb-lg-0">
              <a
                class="nav-link"
                href="https://meshery.io"
                ><span>Site</span></a
              >
            </li>

            <li class="nav-item mr-4 mb-2 mb-lg-0">
              <a
                class="nav-link"
                href="https://discuss.layer5.io"
                ><span>Discuss</span></a
              >
            </li>

            <li class="nav-item mr-4 mb-2 mb-lg-0">
              <a
                class="nav-link"
                href="https://github.com/meshery/meshery"
                ><span>GitHub</span></a
              >
            </li>


        <!--Version Selector -->

        <select onchange="window.location=this.value" class="appearance-none flex-1 w-full px-0 py-1 placeholder-gray-900 tracking-wide focus:outline-none version-selector" name="versioningSelection" id="versioningSelection">
          <!-- <option value="">Versions</option> -->


          <!-- we get the version selected, and put it to the right option  --><option  value="/v0.5" class="nav-item mr-4 mb-2 mb-lg-0 text-black">
            <span>v0.5</span>
          </option>
          <!-- we get the version selected, and put it to the right option  --><option  value="/" class="nav-item mr-4 mb-2 mb-lg-0 text-black">
            <span>latest</span>
          </option>
          <!-- we get the version selected, and put it to the right option  --><option  value="/v0.4" class="nav-item mr-4 mb-2 mb-lg-0 text-black">
            <span>v0.4</span>
          </option>

          </select>

        </ul>
    </div>

    <!--Search Bar
    <div class="navbar-nav d-none d-lg-block"><input type="search" class="form-control td-search-input" placeholder="&#xf002 Search this site…" aria-label="Search this site…" autocomplete="off"></div>-->

    <!-- meshery-custom-begin

	<div class="navbar-nav d-none d-lg-block">
          <a class="gh-source" data-gh-source="github" href="https://github.com/meshery/meshery" title="Go to repository" data-md-state="done">
          <div class="gh-source__repository">
            <i class="fab fa fa-github fa-2x" style='padding-right:20px; float:left; margin-top:5px'></i>
            meshery/meshery
          <ul class="gh-source__facts"><li class="gh-source__fact" id='stars'></li><li id="forks" class="gh-source__fact"></li></ul></div></a>
        </div>
      </div>

meshery-custom-end -->
  </nav>
</header>

<!-- meshery-custom-begin

<script>
$(document).ready(function() {
  var url = "https://api.github.com/search/repositories?q=meshery/meshery";
  fetch(url, {
      headers: {"Accept":"application/vnd.github.preview"}
  }).then(function(e) {
    return e.json()
  }).then(function(r) {
     console.log(r.items[0])
     stars = r.items[0]['stargazers_count']
     forks = r.items[0]['forks_count']
     $('#stars').text(stars + " Stars")
     $('#forks').text(forks + " Forks")
  });
});
</script>

meshery-custom-end -->

    <div class="container-fluid td-outer">
      <div class="td-main">
        <div class="row flex-xl-nowrap">
          <div class="col-12 col-md-3 col-xl-2 td-sidebar d-print-none">
          <div id="td-sidebar-menu" class="td-sidebar__inner">
    <form class="td-sidebar__search d-flex align-items-center">
   <input type="search" class="form-control td-search-input fas fa-search" placeholder="&#xf002" aria-label="Search this site…" autocomplete="off">
      <button class="btn btn-link td-sidebar__toggle d-md-none p-0 ml-3 fas fa-bars" type="button" data-toggle="collapse" data-target="#td-section-nav" aria-controls="td-docs-nav" aria-expanded="false" aria-label="Toggle section navigation">
      </button>
    </form>

    <nav class="collapse td-sidebar-nav pt-1 pl-3" id="td-section-nav">


    <ul class="td-sidebar-nav__section pr-md-3">


      <li class="td-sidebar-nav__section-title">
        <a  href="/v0.5/installation/quick-start" class="align-left pl-0 pr-2 active td-sidebar-link td-sidebar-link__section">🚀 Quick Start</a>
      </li>

    </ul>

    <ul class="td-sidebar-nav__section pr-md-3">


      <li class="td-sidebar-nav__section-title">
        <a  href="/project" class="align-left pl-0 pr-2 active td-sidebar-link td-sidebar-link__section">🗺 Overview</a>
      </li>

        <ul>
          <li class="collapse show" id="overview">
              <ul class="td-sidebar-nav__section pr-md-3">

                <li class="td-sidebar-nav__section-title">
                  <a href="/project/community" class="align-left pl-0 pr-2 td-sidebar-link td-sidebar-link__section">Community</a>
                </li>


                <li class="td-sidebar-nav__section-title">
                  <a href="/project/contributing" class="align-left pl-0 pr-2 td-sidebar-link td-sidebar-link__section">Contributing ↆ</a>
                </li>


                <li class="td-sidebar-nav__section-title">
                  <a href="/project/releases" class="align-left pl-0 pr-2 td-sidebar-link td-sidebar-link__section">Releases</a>
                </li>


                <li class="td-sidebar-nav__section-title">
                  <a href="/project/build-and-release" class="align-left pl-0 pr-2 td-sidebar-link td-sidebar-link__section">Build & Release (CI)</a>
                </li>


                <li class="td-sidebar-nav__section-title">
                  <a href="/project/security-vulnerabilities" class="align-left pl-0 pr-2 td-sidebar-link td-sidebar-link__section">Vulnerabilities</a>
                </li>


                <li class="td-sidebar-nav__section-title">
                  <a href="/project/faq" class="align-left pl-0 pr-2 td-sidebar-link td-sidebar-link__section">FAQ</a>
                </li>


                <li class="td-sidebar-nav__section-title">
                  <a href="/v0.5/installation/platforms" class="align-left pl-0 pr-2 td-sidebar-link td-sidebar-link__section">Supported Platforms ↆ</a>
                </li>


            </ul>
        </ul>

    </ul>

    <ul class="td-sidebar-nav__section pr-md-3">


      <li class="td-sidebar-nav__section-title">
        <a  href="/concepts" class="align-left pl-0 pr-2 active td-sidebar-link td-sidebar-link__section">🧠 Concepts</a>
      </li>

        <ul>
          <li class="collapse show" id="concepts">
              <ul class="td-sidebar-nav__section pr-md-3">

                <li class="td-sidebar-nav__section-title">
                  <a href="/concepts/architecture" class="align-left pl-0 pr-2 td-sidebar-link td-sidebar-link__section">Architecture</a>
                </li>


                <li class="td-sidebar-nav__section-title">
                  <a href="/concepts/architecture/adapters" class="align-left pl-0 pr-2 td-sidebar-link td-sidebar-link__section">Adapters</a>
                </li>


            </ul>
        </ul>

    </ul>

    <ul class="td-sidebar-nav__section pr-md-3">


      <li class="td-sidebar-nav__section-title">
        <a  href="/v0.5/functionality" class="align-left pl-0 pr-2 active td-sidebar-link td-sidebar-link__section">⚙️ Functionality</a>
      </li>

        <ul>
          <li class="collapse show" id="functionality">
              <ul class="td-sidebar-nav__section pr-md-3">

                <li class="td-sidebar-nav__section-title">
                  <a href="/v0.5/functionality/application-management" class="align-left pl-0 pr-2 td-sidebar-link td-sidebar-link__section">Application Management</a>
                </li>


                <li class="td-sidebar-nav__section-title">
                  <a href="/v0.5/functionality/lifecycle-management" class="align-left pl-0 pr-2 td-sidebar-link td-sidebar-link__section">Lifecycle Management</a>
                </li>


                <li class="td-sidebar-nav__section-title">
                  <a href="/v0.5/functionality/pattern-management" class="align-left pl-0 pr-2 td-sidebar-link td-sidebar-link__section">Pattern Management</a>
                </li>


                <li class="td-sidebar-nav__section-title">
                  <a href="/v0.5/functionality/performance-management" class="align-left pl-0 pr-2 td-sidebar-link td-sidebar-link__section">Performance Management</a>
                </li>


                <li class="td-sidebar-nav__section-title">
                  <a href="/v0.5/functionality/service-mesh-interface" class="align-left pl-0 pr-2 td-sidebar-link td-sidebar-link__section">Service Mesh Interface (SMI) Conformance</a>
                </li>


            </ul>
        </ul>

    </ul>

    <ul class="td-sidebar-nav__section pr-md-3">


      <li class="td-sidebar-nav__section-title">
        <a  href="/service-meshes" class="align-left pl-0 pr-2 active td-sidebar-link td-sidebar-link__section">🦾 Service Meshes</a>
      </li>

        <ul>
          <li class="collapse show" id="service-meshes">
              <ul class="td-sidebar-nav__section pr-md-3">

                <li class="td-sidebar-nav__section-title">
                  <a href="/service-meshes/adapters/app-mesh" class="align-left pl-0 pr-2 td-sidebar-link td-sidebar-link__section">App Mesh</a>
                </li>


                <li class="td-sidebar-nav__section-title">
                  <a href="/service-meshes/adapters/cpx" class="align-left pl-0 pr-2 td-sidebar-link td-sidebar-link__section">Citrix Service Mesh</a>
                </li>


                <li class="td-sidebar-nav__section-title">
                  <a href="/service-meshes/adapters/cilium" class="align-left pl-0 pr-2 td-sidebar-link td-sidebar-link__section">Cilium Service Mesh</a>
                </li>


                <li class="td-sidebar-nav__section-title">
                  <a href="/service-meshes/adapters/consul" class="align-left pl-0 pr-2 td-sidebar-link td-sidebar-link__section">Consul</a>
                </li>


                <li class="td-sidebar-nav__section-title">
                  <a href="/service-meshes/adapters/istio" class="align-left pl-0 pr-2 td-sidebar-link td-sidebar-link__section">Istio</a>
                </li>


                <li class="td-sidebar-nav__section-title">
                  <a href="/service-meshes/adapters/kuma" class="align-left pl-0 pr-2 td-sidebar-link td-sidebar-link__section">Kuma</a>
                </li>


                <li class="td-sidebar-nav__section-title">
                  <a href="/service-meshes/adapters/linkerd" class="align-left pl-0 pr-2 td-sidebar-link td-sidebar-link__section">Linkerd</a>
                </li>


                <li class="td-sidebar-nav__section-title">
                  <a href="/service-meshes/adapters/nsm" class="align-left pl-0 pr-2 td-sidebar-link td-sidebar-link__section">Network Service Mesh</a>
                </li>


                <li class="td-sidebar-nav__section-title">
                  <a href="/service-meshes/adapters/nginx-sm" class="align-left pl-0 pr-2 td-sidebar-link td-sidebar-link__section">NGINX Service Mesh</a>
                </li>


                <li class="td-sidebar-nav__section-title">
                  <a href="/service-meshes/adapters/osm" class="align-left pl-0 pr-2 td-sidebar-link td-sidebar-link__section">Open Service Mesh</a>
                </li>


                <li class="td-sidebar-nav__section-title">
                  <a href="/service-meshes/adapters/tanzu-sm" class="align-left pl-0 pr-2 td-sidebar-link td-sidebar-link__section">Tanzu</a>
                </li>


                <li class="td-sidebar-nav__section-title">
                  <a href="/service-meshes/adapters/traefik-mesh" class="align-left pl-0 pr-2 td-sidebar-link td-sidebar-link__section">Traefik Mesh</a>
                </li>


            </ul>
        </ul>

    </ul>

    <ul class="td-sidebar-nav__section pr-md-3">


      <li class="td-sidebar-nav__section-title">
        <a  href="/guides" class="align-left pl-0 pr-2 active td-sidebar-link td-sidebar-link__section">📚 Guides</a>
      </li>

        <ul>
          <li class="collapse show" id="guides">
              <ul class="td-sidebar-nav__section pr-md-3">

                <li class="td-sidebar-nav__section-title">
                  <a href="/guides/sample-apps" class="align-left pl-0 pr-2 td-sidebar-link td-sidebar-link__section">Deploying Sample Applications</a>
                </li>


                <li class="td-sidebar-nav__section-title">
                  <a href="/guides/smi-conformance" class="align-left pl-0 pr-2 td-sidebar-link td-sidebar-link__section">Running SMI Conformance Tests</a>
                </li>


                <li class="td-sidebar-nav__section-title">
                  <a href="/guides/meshery-metrics" class="align-left pl-0 pr-2 td-sidebar-link td-sidebar-link__section">Integrating Prometheus and Grafana</a>
                </li>


                <li class="td-sidebar-nav__section-title">
                  <a href="/guides/troubleshooting" class="align-left pl-0 pr-2 td-sidebar-link td-sidebar-link__section">Troubleshooting Guide</a>
                </li>


                <li class="td-sidebar-nav__section-title">
                  <a href="/guides/upgrade" class="align-left pl-0 pr-2 td-sidebar-link td-sidebar-link__section">Upgrading Meshery</a>
                </li>


                <li class="td-sidebar-nav__section-title">
                  <a href="/guides/mesheryctl" class="align-left pl-0 pr-2 td-sidebar-link td-sidebar-link__section">Using mesheryctl ↆ</a>
                </li>


                <li class="td-sidebar-nav__section-title">
                  <a href="/guides/multiple-adapters" class="align-left pl-0 pr-2 td-sidebar-link td-sidebar-link__section">Using Multiple Meshery Adapters</a>
                </li>


            </ul>
        </ul>

    </ul>

    <ul class="td-sidebar-nav__section pr-md-3">


      <li class="td-sidebar-nav__section-title">
        <a  href="/extensibility" class="align-left pl-0 pr-2 active td-sidebar-link td-sidebar-link__section">🛠 Extensibility</a>
      </li>

        <ul>
          <li class="collapse show" id="extensibility">
              <ul class="td-sidebar-nav__section pr-md-3">

                <li class="td-sidebar-nav__section-title">
                  <a href="/extensibility/adapters" class="align-left pl-0 pr-2 td-sidebar-link td-sidebar-link__section">Adapters</a>
                </li>


                <li class="td-sidebar-nav__section-title">
                  <a href="/extensibility/load-generators" class="align-left pl-0 pr-2 td-sidebar-link td-sidebar-link__section">Load Generators</a>
                </li>


                <li class="td-sidebar-nav__section-title">
                  <a href="/extensibility/providers" class="align-left pl-0 pr-2 td-sidebar-link td-sidebar-link__section">Providers</a>
                </li>


                <li class="td-sidebar-nav__section-title">
                  <a href="/extensibility/api" class="align-left pl-0 pr-2 td-sidebar-link td-sidebar-link__section">REST & GraphQL APIs</a>
                </li>


                <li class="td-sidebar-nav__section-title">
                  <a href="/extensibility/ui" class="align-left pl-0 pr-2 td-sidebar-link td-sidebar-link__section">UI Plugins</a>
                </li>


            </ul>
        </ul>

    </ul>

    <ul class="td-sidebar-nav__section pr-md-3">


      <li class="td-sidebar-nav__section-title">
        <a  href="/reference" class="align-left pl-0 pr-2 active td-sidebar-link td-sidebar-link__section">📖 Reference</a>
      </li>

        <ul>
          <li class="collapse show" id="reference">
              <ul class="td-sidebar-nav__section pr-md-3">

                <li class="td-sidebar-nav__section-title">
                  <a href="/reference/mesheryctl" class="align-left pl-0 pr-2 td-sidebar-link td-sidebar-link__section">Meshery CLI</a>
                </li>


                <li class="td-sidebar-nav__section-title">
                  <a href="/reference/error-codes" class="align-left pl-0 pr-2 td-sidebar-link td-sidebar-link__section">Error Codes</a>
                </li>


                <li class="td-sidebar-nav__section-title">
                  <a href="/reference/graphql-apis" class="align-left pl-0 pr-2 td-sidebar-link td-sidebar-link__section">GraphQL API Reference</a>
                </li>


                <li class="td-sidebar-nav__section-title">
                  <a href="/reference/rest-apis" class="align-left pl-0 pr-2 td-sidebar-link td-sidebar-link__section">REST API Reference</a>
                </li>


            </ul>
        </ul>

    </ul>

    </nav>
  </div>
          </div>
          <div class="d-none d-xl-block col-xl-2 td-toc d-print-none">
              <div class="td-page-meta ml-2 pb-1 pt-2 mb-0">
                  <strong>Tools</strong>
<a href="https://github.com/meshery/meshery/issues/new?assignees=&labels=area%2Fdocs%2C+framework%2Fjekyll&template=documentation.md&title=%5BDocs%5D" rel="noopener" target="_blank"><i class="fab fa-github fa-fw"></i> Create doc issue</a>
<a href="https://github.com/meshery/meshery/blob/master/docs/pages/search.html" rel="noopener" target="_blank"><i class="fa fa-edit fa-fw"></i> Edit this page</a>
<strong>Contents</strong>


<!-- this will parse through the header fields and add a button to open
     an issue / ask a question on Github. The editable field should be in
     the post frontend matter, and refer to the label to open the issue for -->


              </div>
              <nav id="TableOfContents"><ul>
              <li><ul id="TOC">
                <!-- Links will be appended here-->
              </ul></li>
              </ul></nav>
          </div>
          <main class="col-12 col-md-9 col-xl-8 pl-md-5" role="main">
            <nav aria-label="breadcrumb" class="d-none d-md-block d-print-none">
	      <ol class="breadcrumb spb-1">
                <li class="breadcrumb-item active" aria-current="page">
      <!-- meshery-custom-begin -->
        <div id="breadcrumbs">

<a href="/">home</a>


    /


</div>

<!-- <a href="http://idratherbewriting.com" class="noCrossRef productSubtitle"> Home </a> > <a class="noCrossRef productSubtitle" href="http://localhost:4000">Learn API Doc</a> > search.html -->

	      <!-- <a href="/search/"></a> -->
		  <!-- meshery-custom-end -->
                </li>
	      </ol>
           </nav>
           <div class="td-content">

            <h1></h1>

	           <input class="form-control td-search-input fa fa-search" type="search" name="q" id="search-input" placeholder="&#xf002 Search this site…"  style="margin-top:5px" autofocus>
<i style="color:white; margin-right:8px; margin-left:5px" class="fa fa-search"></i>

<p><span id="search-process">Loading</span> results <span id="search-query-container" style="display: none;">for "<strong id="search-query"></strong>"</span></p>

<ul id="search-results"></ul>

<script>
	window.data = {









					"es-project-contributing-flow": {
						"id": "es-project-contributing-flow",
						"title": "Contribuir Flujo",
						"categories": "",
						"url": " /es/project/contributing-flow",
						"content": "Trabajando por Fork\n\nSimplemente dirígete a la página de GitHub y haz clic en el botón “Fork”. Es así de simple. Una vez que hayas hecho eso, puedes usar tu cliente git favorito para clonar tu repositorio o simplemente dirigirse directamente a la línea de comando:\n\nClona tu fork en tu máquina local\n\ngit clone git@github.com:USERNAME/FORKED-PROJECT.git\n\n\nMantener Tu Fork Actualizado\n\nSi bien este no es un paso necesario, si planeas hacer algo más que una pequeña solución rápida, querrás asegurarte de mantener tu fork actualizado rastreando el repositorio “upstream” original al que hiciste “fork”. Para hacer esto, deberás agregar un remoto:\n\nAgregar repositorio ‘upstream’ a la lista de remotos\n\ngit remote add upstream https://github.com/meshery/meshery.git\n\n\n(“meshery” se usa como repositorio de ejemplo. Asegúrate de hacer referencia al repositorio actual al que está contribuyendo, por ejemplo, “meshery-linkerd”).\n\nVerifica el nuevo repositorio remoto llamado ‘upstream’\n\ngit remote -v\n\n\nSiempre que quieras actualizar tu fork con los últimos cambios de ‘upstream’, primero deberás buscar las ramas del repositorio ‘upstream’ y los últimos “commits” para llevarlos a tu repositorio:\n\nObtener desde el remoto ‘upstream’\n\ngit fetch upstream\n\n\nVer todas las ramas, incluidas las de ‘upstream’\n\ngit branch -va\n\n\nAhora, revisa tu rama “master” y combina la rama “master” del repositorio ‘upstream’:\n\nHaz “checkout” a tu rama “master” y haz “merge” de ‘upstream’\n\ngit checkout master\ngit merge upstream/master\n\n\nSi no hay “commits” únicos en la rama “master” local, git simplemente realizará un “fast-forward”. Sin embargo, si has realizado cambios en “master” (en la gran mayoría de los casos, probablemente no deberías hacerlo), consulta la siguiente sección, es posible que tengas que lidiar con conflictos. Al hacerlo, ten cuidado de respetar los cambios realizados anteriormente.\n\nAhora, tu rama “master” local está actualizada con todo lo modificado en ‘upstream’.\n\nCrear una “Branch” (haciendo tu trabajo)\nSiempre que comiences a trabajar en una nueva función o corrección de “bugs”, es importante que crees una nueva rama. No solo es un flujo de trabajo de git adecuado, sino que también mantiene tus cambios organizados y separados de la rama “master” para que puedas enviar y administrar fácilmente múltiples “pull requests” para cada tarea que completes.\n\nPara crear una nueva rama y comenzar a trabajar en ella, realiza el siguiente flujo.\n\nConsulta la rama “master”: quieres que tu nueva rama provenga de la rama “master”.\n\ngit checkout master\n\n\nCrea una nueva rama (dale a tu rama su propio nombre informativo simple)\n\nPara mejoras, utiliza feature/tu_nombre/issue# o feature/tu_nombre/nombre_del_feature\n\nPara “bugs” usa bug/tu_nombre/issue# o bug/tu_nombre/nombre_del_bug\n\ngit branch feature/jdoe/567\n\n\nCambia a tu nueva rama\n\ngit checkout feature/jdoe/567\n\n\nAhora, ve a la ciudad hackeando y haciendo los cambios que quieras.\n\nEnviar tus cambios (un “Pull Request”)\n\nAntes de enviar tu “pull request”, es posible que quieras hacer algunas cosas para limpiar tu rama y hacer que sea lo más simple posible para que el “maintainer” del repositorio original pruebe, acepte y haga “merge” de tu trabajo.\n\nEn el tiempo que has estado trabajando en tus cambios, si se han hecho “commits” en la rama “master” ‘upstream’, deberás hacer “rebase” a tu rama de desarrollo para que al hacerle “merge” sea un “fast-forward” simple que no requiera ninguna trabajo de resolución de conflictos.\n\nObten los cambios de “master” ‘upstream’ y haz “merge” con la rama “master” de tu repositorio\n\ngit fetch upstream\ngit checkout master\ngit merge upstream/master\n\n\nSi hubo nuevos “commits”, haz “rebase” a tu rama de desarrollo\n\ngit checkout feature/jdoe/567\ngit rebase master\n\n\nAhora, puede ser deseable reducir algunos de tus “commits” más pequeños al juntarlos en una pequeña cantidad de “commits” más grandes y cohesivos. Puedes hacer esto con un “rebase” interactivo:\n\nHaz “rebase” a todos tus “commits” en tu rama de desarrollo\n\ngit checkout\ngit rebase -i master\n\n\nEsto abrirá un editor de texto donde puedes especificar que “commits” aplastar.\n\nEntrega\n\nUna vez que hayas hecho tus “commits” y enviado todos tus cambios a GitHub, ve a la página de tu “fork” en GitHub, selecciona tu rama de desarrollo y haz clic en el botón de “pull request”. Si necesitas realizar algún ajuste en tu “pull request”, simplemente envía las actualizaciones a GitHub. Tu “pull request” rastreará automáticamente los cambios en tu rama de desarrollo y se actualizará."
					}




					,

					"project-faq": {
						"id": "project-faq",
						"title": "FAQ",
						"categories": "",
						"url": " /project/faq",
						"content": "Question: What is service mesh?\nAnswer: A service mesh is a way to control how different parts of an application share data with one another. Unlike other systems for managing this communication, a service mesh is a dedicated infrastructure layer built right into an app. This visible infrastructure layer can document how well (or not) different parts of an app interact, so it becomes easier to optimize communication and avoid downtime as an app grows.\nQuestion: What is Meshery?\nAnswer: Meshery is the open source, cloud native management plane that enables the adoption, operation, and management of any service mesh and their workloads.\n\nQuestion: Why was Meshery created?\n\nAnswer: As an open source, vendor neutral project, Meshery was created out of the necessity to enable service mesh adopters to overcome the challenge of complex virtual networking; to come to expect more from their infrastructure; to enable the world to understand and operate any service mesh with confidence.\n\nQuestion: What does Meshery do?\nAnswer:\n\n  Operates service meshes with confidence,\n    \n      with operational best practices.\n    \n  \n  Compare apples-to-apples performance across service meshes.\n  Understand behavioral differences between service meshes.\n  Track your application performance from version to version.\n\n\nQuestion: What is mesheryctl?\n\nAnswer: A command line interface to manage Meshery.\n\nQuestion: How to install Meshery?\n\nAnswer: Meshery runs on a number of platforms.\nPopular Installers:\n\n  Bash user → Meshery Installation Quick Start.\n  Brew user.\n  Kubernetes user.\n  Scoop user.\n\n\nQuestion: What is the difference between make server and mesheryctl system start? Do they both run Meshery on my local machine?\n\nAnswer: Yes, both of them do run Meshery on your local machine. make server builds Meshery from source and runs it on your local OS, while mesheryctl system start runs Meshery as a set of containers in Docker or in Kubernetes on your local machine.\n\nQuestion: What systems is Meshery compatible with?\n\nAnswer: Many. See Meshery’s Compatibility Matrix.\n\nQuestion: Why is Meshery Server only receiving MeshSync updates from one of my Kubernetes Clusters?\n\nAnswer: In order to receive MeshSync updates, Meshery Server subscribes for updates Meshery Broker. In other words, Meshery Server connects to the meshery-broker service port in order to subscribe for streaming MeshSync updates. By default, the Meshery Broker service is deployed as type Kubernetes Service type LoadBalancer, which requires that your Kubernetes cluster provides an external IP address to the Meshery Broker service, exposing it external to the Kubernetes cluster. _\n_If you’re running Kubernetes in Docker Desktop, an external IP address of localhost is assigned. If you’re running Minikube, and execute minikube tunnel to gain access to Meshery Broker’s service, you will find that both Meshery Broker service endpoints (from two different clusters) are sharing the same localhost:4222 address and port number. This port sharing causes conflict and Meshery Server is only able to connect to one of the Meshery Brokers.\n\nFew ways to solve this problem:\n\n  Use an external cloud provider which provides you with the LoadBalancer having an external IP address other than localhost\n  Use Kind cluster with MetalLB configuration\n\n\nQuestion: Why does the dashboard not show the infrastructure provisioned or discovered by Meshery?\nAnswer: This issue is typically caused by either lack of connectivity between Meshery Server and Meshery Broker or by database corruption. Use the following troubleshooting steps to resolve this issue:\n\nLack of Connectivity\n\n  Confirm that the Meshery Broker service is exposed from your cluster using kubectl get svc -n meshery and that an hostname or IP address is displayed in the External Address column. Meshery Server should be able to reach this address.\n  It is possible that MeshSync is not healthy and not sending cluster updates, check for MeshSync status by navigating to Settings in Meshery UI and clicking on the MeshSync connection.\n  If MeshSync is healthy, check the status of Meshery Broker by clicking on the NATS connection.\n\n\nIf either is the case, Meshery Operator will make sure MeshSync and Meshery Broker deployments are again healthy, wait for some time, otherwise try redeploying Meshery Operator.\n\nDatabase Corruption\n  If MeshSync, Meshery Broker and Meshery Operator are healthy, then perhaps, there is corruption in the Meshery Database. Use the following troubleshooting steps to resolve this issue:_\n\n1. Try clearing the database by clicking on the `Flush MeshSync` button associated with the corresponding cluster.\n1. If still `Service Mesh` is not visible in UI, move on to `Hard Reset` of Database. This option is in the `Reset System` Tab in `Settings` page.\n\n\nNote:   You can also verify health of your system using mesheryctl system check\n\n\nDiscussion Forum\nDon't find an answer to your question here? Ask on the Discussion Forum."
					}




					,

					"es-project-faq": {
						"id": "es-project-faq",
						"title": "FAQ",
						"categories": "",
						"url": " /es/project/faq",
						"content": "Pregunta: ¿Por qué se creó Meshery?\n\nRespuesta: Como un proyecto de código abierto, proveedor neutral, Meshery fue creado por la necesidad de permitir a los usuarios de la malla de servicios superar el desafío de las redes virtuales complejas; llegar a esperar más de su infraestructura; para permitir que el mundo comprenda y opere cualquier malla de servicios con confianza.\n\n\n¿No encuentra aquí una respuesta a su pregunta? Pregunte en el canal de #soporte en el Slack de Layer5.\n\n¿Cuál es la diferencia entre make run-local y mesheryctl system start? ¿Ambos ejecutan Meshery en mi máquina local?\n\nRespuesta: Sí, ambos ejecutan Meshery en su máquina local. make run local construye Meshery desde la fuente y lo ejecuta en su sistema operativo local, mientras que mesheryctl system start ejecuta Meshery como un conjunto de contenedores en Docker en su máquina local."
					}




					,

					"es-extensibility-adapters": {
						"id": "es-extensibility-adapters",
						"title": "Extensibilidad: adaptadores de malla de servicio",
						"categories": "",
						"url": " /es/extensibility/adapters",
						"content": "Principios rectores del diseño de adaptadores\n\nLos adaptadores permiten a Meshery interactuar con las diferentes mallas de servicio. Revise la lista de todos los disponibles service mesh adapters. Ver el Meshery Architecture diagramas para imágenes sobre cómo los adaptadores se relacionan con otros componentes de Meshery.\n\nMeshery mantiene los siguientes principios rectores para el diseño de adaptadores:\n\n\n  Los adaptadores permiten a Meshery interactuar con las diferentes mallas de servicio, exponiendo su valor diferenciado a los usuarios.\n\n\n\n  Se debe alentar a los proyectos de mallas de servicio a mantener sus propios adaptadores. Permitirles exponer sus capacidades diferenciadas fomenta esto.\n\n\n\n  Los adaptadores deben evitar la reinvención de las ruedas, pero deben buscar aprovechar la funcionalidad proporcionada por las mallas de servicio bajo administración.\n\n\n\n  Esto reduce los costos de mantenimiento y mejora la confiabilidad.\n\n\nCapacidades del adaptador\n\nMeshery se comunica con adaptadores a través de grpc. Los adaptadores establecen comunicación con la malla de servicios. Los adaptadores tienen un conjunto predefinido de operaciones que se agrupan en función de tipos de operaciones predefinidos.\n\nLos tipos de operación predefinidos son:\n\n\n  Instalar en pc\n  Aplicación de muestra\n  Config\n  Validar\n  Custom\n\n\nMeshery Adapter Codebase Overview\n\nBibliotecas comunes se utilizan para evitar la duplicación de códigos y aplicar DRY.\n\nMeshKit\n\nLa jerarquía de código es conectable e independiente entre sí. Puede haber N cantidad de paquetes dependiendo del caso de uso.\n\n\n  errors/ - contiene las implementaciones y los controladores de errores y los códigos de error que se utilizan en los proyectos.\n  logger/ - contiene las implementaciones del controlador de registro y los atributos personalizados para agregar, si corresponde.\n  utils/ - contiene todas las funciones de utilidad que son específicas de los proyectos de malla y se deben usar de forma genérica en todos ellos.\n  tracing/ - contiene las implementaciones de los controladores de rastreo con diferentes proveedores de rastreo como jaeger, newrelic, etc.\n\n\nCada paquete dentro de un meshkit es una implementación de interfaz de controlador, la implementación podría ser de cualquier paquete de terceros o del go-kit.\n\nBiblioteca de adaptadores de Meshery\n\nEsta sección contiene una descripción general de alto nivel de la biblioteca de adaptadores de malla, su propósito y arquitectura. Para obtener más detalles, se remite al lector a la documentación y al código del repositorio.\n\nEl propósito principal de la biblioteca de adaptadores de malla es:\n\n\n  proporcionar un conjunto de interfaces, algunas con implementaciones predeterminadas, para ser utilizadas y extendidas por los adaptadores.\n  Implementar preocupaciones transversales comunes como registro, errores y rastreo.\n  proporcionar un mini framework que implemente el servidor gRPC que permite conectar la configuración específica de la malla y - las operaciones implementadas en los adaptadores.\n  proporcionar puntos de extensión de middleware\n\n\nDescripción general y uso\n\nLa biblioteca consta de interfaces e implementaciones predeterminadas para la funcionalidad principal y común de un adaptador. También proporciona un mini-framework que ejecuta el servicio del adaptador gRPC, llamando a las funciones de los controladores inyectados por el código del adaptador. Esto se representa en un estilo UML-ish en la figura siguiente. La biblioteca se utiliza en todos los adaptadores de Meshery.\n\nContribución a los adaptadores Meshery\n\nCon elCONTRIBUTING.md Tenga en cuenta que el desarrollo sigue el flujo de trabajo de solicitud de bifurcación y extracción habitual que se describe aquí, consulte también Proceso de GitHub. Al bifurcar, GitHub desactiva todos los flujos de trabajo. Es una buena práctica y seguro activarlos de manera que el código se valide en cada inserción. Esto requiere que el filtro de ramas para “al enviar” esté configurado en “\\ _ \\ _” para que se active también en las ramas que contengan “/” en su nombre. Las acciones se parametrizan mediante secretos (consulte Estrategia de creación y lanzamiento). La imagen de Docker solo se crea y se envía a Docker Hub si se inserta una etiqueta y se configura la información de autenticación correspondiente. El único secreto que debe establecerse en cada bifurcación es GO_VERSION, especificado en la estrategia de compilación y lanzamiento; de lo contrario, se usa la versión predeterminada de la acción correspondiente.\n\nCada compromiso debe estar firmado, consulte /v0.5project/contributingContributing Overview.\n\nEjecutando un adaptador como contenedor\n\nLa prueba de los cambios locales que se ejecutan como un contenedor se puede lograr de dos maneras:\n\n\n  Defina la dirección del adaptador en la interfaz de usuario: a menos que el contenedor en ejecución tenga el nombre especificado en el destino de ejecución de la ventana acoplable en el Makefile, el contenedor debe eliminarse manualmente primero. Luego, ejecute make docker seguido de make docker-run. Luego, conéctese al adaptador en la interfaz de usuario en “Configuración&gt; Mallas de servicio” usando localhost: &lt;puerto&gt; si el servidor de malla se está ejecutando como un binario, o : si se está ejecutando como un contenedor docker.\n  Usando mesheryctl: En ~ / .meshery / meshery.yaml, cambie la etiqueta que especifica la imagen del adaptador a“ más reciente ”. Ejecute make docker, seguido de mesheryctl system start --skip-update. Esto supone que el inicio del sistema mesheryctl se ha ejecutado al menos una vez antes.\n\n\nEjecutando un adaptador como proceso\n\nOtra forma de probar los cambios locales es ejecutar el adaptador como un proceso. Para hacer esto, clone el repositorio de meshery e inicie meshery usando make server-local. Inicie el adaptador desde su IDE o ejecutando make run. Luego, en la interfaz de malla, agregue el adaptador usando “localhost: ”.\n\nCreación de un nuevo adaptador Meshery\n\nMeshery usa adaptadores para administrar e interactuar con diferentes mallas de servicio. Los adaptadores Meshery están escritos en Go. Ya sea que esté creando un nuevo adaptador o modificando uno existente, asegúrese de leer la especificación de diseño de Adaptadores Meshery. Para nuevos adaptadores, comience con la plantilla de repositorio (https://github.com/layer5io/layer5-repo-template).\n\n\n  Obtenga el archivo de especificaciones proto buf del repositorio de Meshery:\nwget https://raw.githubusercontent.com/layer5io/meshery/master/meshes/meshops.proto\n  Generar codigo\n    \n      Usando Go como ejemplo, haga lo siguiente:\n        \n          agregando GOPATH to PATH: export PATH=$PATH:$GOPATH/bin\n          instalar grpc: go get -u google.golang.org/grpc\n          instalar el complemento de protocolo para ir: go get -u github.com/golang/protobuf/protoc-gen-go\n          Generar código Go: protoc -I meshes/ meshes/meshops.proto --go_out=plugins=grpc:./meshes/\n        \n      \n      Para otros idiomas, consulte gRPC.io para obtener guías específicas de idiomas.\n    \n  \n  Implemente los métodos de servicio y exponga el servidor gRPC en un puerto de su elección (por ejemplo, 10000).\n\n\nConsejo: El Adaptador Meshery para Istio es un buen adaptador de referencia para usar como ejemplo de Adaptador Meshery."
					}




					,

					"es-concepts-architecture-adapters": {
						"id": "es-concepts-architecture-adapters",
						"title": "Adaptadores",
						"categories": "",
						"url": " /es/concepts/architecture/adapters",
						"content": "Como administrador de múltiples mallas, Meshery ofrece soporte para más adaptadores que cualquier otro proyecto o producto en el mundo. Meshery utiliza adaptadores para gestionar las distintas mallas de servicio.\n\n¿Qué son los adaptadores de Meshery?\n\nLos adaptadores permiten a Meshery interactuar con las diferentes mallas de servicio, exponiendo su valor diferenciado a los usuarios.\n\nMeshery tiene adaptadores para administrar las siguientes mallas de servicio.\n\n\n  \n    \n      Estado del adaptador\n      Malla de servicio\n      Versión de Service Mesh\n      Puerto\n    \n  \n  \n    \n      stable\n       Meshery Adapter for Istio\n       \n      10000/gRPC\n    \n    \n      stable\n       Meshery Adapter for Consul\n       \n      10002/gRPC\n    \n    \n      stable\n       Meshery Adapter for Cilium Service Mesh\n       \n      10012/gRPC\n    \n    \n      stable\n       Meshery Adapter for Traefik Mesh\n       \n      10006/gRPC\n    \n    \n      stable\n       Meshery Adapter for Open Service Mesh\n       \n      10009/gRPC\n    \n    \n      stable\n       Meshery Adapter for Network Service Mesh\n       \n      10004/gRPC\n    \n    \n      stable\n       Meshery Adapter for NGINX Service Mesh\n       \n      10010/gRPC\n    \n    \n      stable\n       Meshery Adapter for Linkerd\n       \n      10001/gRPC\n    \n    \n      stable\n       Meshery Adapter for Kuma\n       \n      10007/gRPC\n    \n    \n      beta\n       Meshery Adapter for App Mesh\n       \n      10005/gRPC\n    \n    \n      beta\n       Meshery Adapter for Citrix Service Mesh\n       \n      10008/gRPC\n    \n    \n      alpha\n       Meshery Adapter for Tanzu Service Mesh\n       \n      10011/gRPC\n    \n  \n\n\nPreguntas frecuentes sobre adaptadores\n\n¿Todos los adaptadores de malla de servicio son iguales?\n\nNo, se escriben diferentes adaptadores de malla de servicios para exponer el valor único de cada malla de servicios. En consecuencia, no son igualmente capaces ya que cada malla de servicio no es igualmente capaz que la otra.\n\nLos adaptadores tienen un conjunto de operaciones que se agrupan en función de tipos de operaciones predefinidos. Ver la página extensibilidad para obtener más detalles sobre las operaciones del adaptador.\n\nCómo puedo crear un nuevo adaptador?\n\nVer la documentación de extensibilidad para obtener detalles sobre cómo se fabrican los nuevos adaptadores Meshery.\n\n¿Puedo ejecutar más de una instancia del mismo adaptador Meshery\n\nLa configuración predeterminada de una implementación de Meshery incluye una instancia de cada uno de los adaptadores de Meshery (que han alcanzado un estado de versión estable). Puede optar por ejecutar varias instancias del mismo tipo de adaptador Meshery; p.ej. dos instancias del adaptador meshery-istio. Para hacerlo, modifique el archivo ~/.meshery/meshery.yaml para incluir varias copias del adaptador dado.\n\nVer la guía “Adaptadores múltiples” para obtener más información."
					}




					,

					"concepts-architecture-adapters": {
						"id": "concepts-architecture-adapters",
						"title": "Adapters",
						"categories": "",
						"url": " /concepts/architecture/adapters",
						"content": "As the cloud native manager, Meshery offers support for more service meshes than any other project or product in the world. Meshery uses adapters to offer choice of load generator (for performance management) and for managing different layers of your infrastructure.\n\nWhat are Meshery Adapters?\n\nAdapters allow Meshery to interface with the different service meshes, exposing their differentiated value to users.\n\nMeshery has adapters for managing the following service meshes.\n\n\n  \n    \n      Adapter Status\n      Service Mesh\n      Port\n      Earliest Version supported\n    \n  \n  \n    \n      stable\n       Meshery Adapter for Istio\n      10000/gRPC\n      v1.6.0\n    \n    \n      stable\n       Meshery Adapter for Consul\n      10002/gRPC\n      v1.8.4\n    \n    \n      stable\n       Meshery Adapter for Cilium Service Mesh\n      10012/gRPC\n      v1.10.6\n    \n    \n      stable\n       Meshery Adapter for Traefik Mesh\n      10006/gRPC\n      v1.0\n    \n    \n      stable\n       Meshery Adapter for Open Service Mesh\n      10009/gRPC\n      v0.9.2\n    \n    \n      stable\n       Meshery Adapter for Network Service Mesh\n      10004/gRPC\n      v0.2.1\n    \n    \n      stable\n       Meshery Adapter for NGINX Service Mesh\n      10010/gRPC\n      v1.2.0\n    \n    \n      stable\n       Meshery Adapter for Linkerd\n      10001/gRPC\n      v2.10.2\n    \n    \n      stable\n       Meshery Adapter for Kuma\n      10007/gRPC\n      v1.2.2\n    \n    \n      beta\n       Meshery Adapter for App Mesh\n      10005/gRPC\n      v1.4.1\n    \n    \n      beta\n       Meshery Adapter for Citrix Service Mesh\n      10008/gRPC\n      1.0\n    \n    \n      alpha\n       Meshery Adapter for Tanzu Service Mesh\n      10011/gRPC\n      pre-GA\n    \n  \n\n\nAdapter FAQs\n\nIs each service mesh adapter made equal?\n\nNo, different service mesh adapters are written to expose the unique value of each service mesh. Consequently, they are not equally capable just as each service mesh is not equally capable as the other.\n\nAdapters have a set of operations which are grouped based on predefined operation types. See the extensibility page for more details on adapter operations.\n\nHow can I create a new adapter?\n\nSee the extensibility documentation for details on how new Meshery adapters are made.\n\nCan I run more than one instance of the same Meshery adapter?\n\nThe default configuration of a Meshery deployment includes one instance of each of the Meshery adapters (that have reached a stable version status). You may choose to run multiple instances of the same type of Meshery adapter; e.g. two instances of the meshery-istio adapter. To do so, modify ~/.meshery/meshery.yaml to include multiple copies of the given adapter.\n\nSee the “Multiple Adapters” guide for more information."
					}




					,

					"extensibility-adapters": {
						"id": "extensibility-adapters",
						"title": "Extensibility: Service Mesh Adapters",
						"categories": "",
						"url": " /extensibility/adapters",
						"content": "Guiding Principles of Adapter Design\n\nAdapters allow Meshery to interface with the different service meshes. Review the list of all available service mesh adapters. See the Meshery Architecture diagrams for visuals on how adapters relate to other Meshery components.\n\nMeshery upholds the following guiding principles for adapter design:\n\n\n  Adapters allow Meshery to interface with the different service meshes, exposing their differentiated value to users.\n    \n      Service mesh projects should be encouraged to maintain their own adapters. Allowing them to expose their differentiated capabilities encourages this.\n    \n  \n  Adapters should avoid wheel reinvention, but seek to leverage the functionality provided by service meshes under management.\n    \n      This both reduces sustaining costs and improves reliability.\n    \n  \n\n\nAdapter Capabilities\n\nMeshery communicates with adapters over grpc. Adapters establish communication with the service mesh. Adapters have a predefined set of operations which are grouped based on predefined operation types.\n\nThe predefined operation types are:\n\n\n  Install\n  Sample application\n  Config\n  Validate\n  Custom\n\n\nMeshery Adapter Codebase Overview\n\nCommon libraries are used to avoid code duplication and apply DRY.\n\nMeshKit\n\nThe code hierarchy is pluggable and independent from one another. There can be N number of packages depending upon the use case.\n\n  errors/ - holds the implementations and the error handlers and error codes which are used across projects.\n  logger/ - holds the implementations of logging handler and custom attributes to add if any.\n  utils/ - holds all the utility functions that are specific to meshery projects and are to be used generically across all of them.\n  tracing/ - holds the implementations of tracing handlers with different tracing providers like jaeger,newrelic, etc.\n\n\nEach package inside a meshkit is a handler interface implementation, the implementation could be from any third-party packages or the go-kit.\n\nMeshery Adapter Libary\n\nThis section contains a high level overview of the meshery-adapter-library, its purpose and architecture. For details, the reader is referred to the documentation and the code in the repository.\n\nThe main purpose of the meshery-adapter-library is to:\n\n  provide a set of interfaces, some with default implementations, to be used and extended by adapters.\n  implement common cross cutting concerns like logging, errors, and tracing\n  provide a mini framework implementing the gRPC server that allows plugging in the mesh specific configuration and - operations implemented in the adapters.\n  provide middleware extension points\n\n\nOverview and Usage\n\nThe library consists of interfaces and default implementations for the main and common functionality of an adapter. It also provides a mini-framework that runs the gRPC adapter service, calling the functions of handlers injected by the adapter code. This is represented in an UML-ish style in the figure below. The library is used in all of Meshery’s adapters.\n\nContributing to Meshery Adapters\nWith the CONTRIBUTING.md in mind, understand that development follows the usual fork-and-pull request workflow described here, see also GitHub Process. On forking GitHub deactivates all workflows. It is safe and good practice to activate them such that the code is validated on each push. This requires that branches filter for “on push” is set to ‘**’ to be triggered also on branches containing ‘/’  in their name.  The actions are parameterized using secrets (see Build &amp; Release Strategy). The Docker image is only built and pushed to Docker Hub if a tag is pushed and the corresponding authentication information is configured. The only secret that should be set in each fork is GO_VERSION, specified in Build &amp; Release Strategy, otherwise, the corresponding action’s default version is used.\n\nEach commit has to be signed off, see Contributing Overview.\n\nRunning an adapter as a container\n\nTesting your local changes running as a container can be accomplished in two ways:\n\n\n  Define the adapter’s address in the UI: Unless the running container is named as specified in the docker-run target in the Makefile, the container has to be removed manually first. Then, run make docker followed by make docker-run. Then, connect to the adapter in the UI in “Settings&gt;Service Meshes” using localhost:&lt;port&gt; if the meshery server is running as a binary, or : if it is running as a docker container.\n  Using mesheryctl: In ~/.meshery/meshery.yaml, change the tag specifying the image of the adapter to “latest”. Run make docker, followed by mesheryctl system start --skip-update. This assumes mesheryctl system start has been executed at least once before.\n\n\nRunning an adapter as a process\n\nAnother way to test your local changes is to run the adapter as a process. To do this, clone the meshery/meshery repository, and start Meshery Server using make server. Start the adapter from your IDE, or by executing make run. Then, in Meshery UI, add the adapter using “localhost:”.\n\nCreating a new Meshery Adapter\n\nMeshery uses adapters to manage and interact with different service meshes. Meshery adapters are written in Go. Whether you are creating a new adapter or modifying an existing adapter, be sure to read the Meshery Adapters design specification. For new adapters, start with the Repository Template(https://github.com/layer5io/layer5-repo-template).\n\n\n  Get the proto buf spec file from Meshery repo:\nwget https://raw.githubusercontent.com/layer5io/meshery/master/meshes/meshops.proto\n  Generate code\n    \n      Using Go as an example, do the following:\n        \n          adding GOPATH to PATH: export PATH=$PATH:$GOPATH/bin\n          install grpc: go get -u google.golang.org/grpc\n          install protoc plugin for go: go get -u github.com/golang/protobuf/protoc-gen-go\n          Generate Go code: protoc -I meshes/ meshes/meshops.proto --go_out=plugins=grpc:./meshes/\n        \n      \n      For other languages, please refer to gRPC.io for language-specific guides.\n    \n  \n  Implement the service methods and expose the gRPC server on a port of your choice (e.g. 10000).\n\n\nTip: The Meshery Adapter for Istio is a good reference adapter to use as an example of a Meshery Adapter."
					}




					,

					"installation-platforms-aks": {
						"id": "installation-platforms-aks",
						"title": "AKS",
						"categories": "",
						"url": " /installation/platforms/aks",
						"content": "Quick Start with AKS \n\nPrerequisites  \n\n1. Install the Meshery command line client, \n\n    mesheryctl\n.\n\n\nTo set up and run Meshery on AKS:\n\n\n  Connect Meshery to your AKS cluster\n    \n      Meshery CLI (mesheryctl)\n      Azure CLI (az)\n    \n  \n  Install Meshery on your AKS cluster\n  Access Meshery’s UI\n\n\nConnect Meshery to Azure Kubernetes Cluster\n\nThe following set of instructions expects you to have created a AKS cluster in your resource group Configure Meshery to connect to your AKS cluster by executing:\n\n\n \n mesheryctl system config aks\n \n \n\nManual Steps\n\nAlternatively, you may execute the following steps to manually configure Meshery to connect to your AKS cluster.\n\n\n  \n    Install Azure CLI(az), and login\nto your azure account using az login.\n  \n  \n    After successfull login, you have to select the subscription with which your AKS is associated with\n  \n\n\n\naz account set --subscription [SUBSCRIPTION_ID]\n\n\n\n  Get the kubeconfig from your AKS cluster\n\n\n\naz aks get-credentials --resource-group [RESOURCE_GROUP] --name [AKS_SERVICE_NAME]\n\n\n\n  Set your cluster context and check your cluster-info\n\n\n\nkubectl set-context AKS_SERVICE_NAME\nkubectl cluster-info\n\n\n\nInstall Meshery into your AKS cluster\n\n\n \n $ helm repo add meshery https://meshery.io/charts/\n $ helm install meshery meshery/meshery --namespace meshery --create-namespace\n \n \n\n  Meshery server supports customizing authentication flow callback URL, which can be configured in the following way\n\n\n \n $ helm install meshery meshery/meshery --namespace meshery --set env.MESHERY_SERVER_CALLBACK_URL=https://custom-host --create-namespace\n \n \n\nPort forward to the Meshery UI\n\n\n \n export POD_NAME=$(kubectl get pods --namespace meshery -l \"app.kubernetes.io/name=meshery,app.kubernetes.io/instance=meshery\" -o jsonpath=\"{.items[0].metadata.name}\")\n kubectl --namespace meshery port-forward $POD_NAME 9081:8080\n \n \n\nMeshery should now be running in your AKS cluster and the Meshery UI should be accessible at the specified endpoint you’ve exposed to. Navigate to the meshery service endpoint to log into Meshery."
					}




					,

					"es-installation-platforms-aks": {
						"id": "es-installation-platforms-aks",
						"title": "AKS",
						"categories": "",
						"url": " /es/installation/platforms/aks",
						"content": "Inicio rápido con el Servicio Kubernetes de Azure (AKS)\n\nKubernetes administrado\n\nPara ejecutar Meshery en un ambiente administrado de Kubernetes, deberá asignar una ServiceAccount existente o crear una nueva ServiceAccount:\n\nNota: asegúrese de poder acceder a AKS con la CLI(Intérprete de Línes de comandos) de Azure (az) siguiendo la  Guía de inicio rápido de AKS .\n\n¡Las instrucciones completas estarán disponible pronto!"
					}




					,

					"extensibility-api": {
						"id": "extensibility-api",
						"title": "Extensibility: APIs",
						"categories": "",
						"url": " /extensibility/api",
						"content": "Meshery’s APIs\n\nEach of Meshery’s APIs are subject to the following authentication and authorization system.\n\nAuthentication\n\nRequests to any of the API endpoints must be authenticated and include a valid JWT access token in the HTTP headers. Type of authentication is determined by the selected Provider. Use of the Local Provider, “None”, puts Meshery into single-user mode and does not require authentication.\n\n\nWhat are authentication tokens?\nMeshery authentication tokens allow users or systems to authenticate with Meshery Server via either its two clients, Meshery &gt;CLI and UI, or its two APIs: REST or GraphQL. Meshery's authentication token system provide secure access to Meshery's powerful management features.\n\n\nWhat are authentication tokens?\n\nAuthorization\n\nCurrently, Meshery only requires a valid token in order to allow clients to invoke its APIs.\n\nEndpoints\n\nEach of the API endpoints are exposed through server.go. Endpoints are grouped by function (e.g. /api/mesh or /api/perf).\n\nAlternatively, Remote Providers can extend Meshery’s endpoints behind the /api/extensions/ endpoint.\n\nHow to get your token\n\nThere are two ways to get your authentication token:\n\n\n  Meshery UI\n  Meshery CLI\n\n\nUsing Meshery UI, you can get a copy of your authentication token by following these steps:\n\n\n  Log into Meshery by selecting your identity provider of choice (typically found at http:&lt;meshery-server&gt;:9081/provider)\n  Navigate to your user’s avatar in the upper lefthand corner and select “Get Token” from the dropdown of profile section.\n\n\nUsing Meshery CLI, you can get a copy of your authentication token by executing this command:\n\nmesheryctl system login\n\nIn order to use this command, you must have a web broswer available on your system (this command cannot be executed on a headless system).\n\nGraphQL\n\nMeshery provides its GraphQl API at hostname:9081/api/graphql/query. A GraphQL request can be made as a POST request to the endpoint with the query as the payload.\n\nExplore the Meshery GraphQL API using the interactive Playground provided with Meshery instance at localhost:9081/api/system/graphql/playground.\n\nMeshery GrahphQL API can be used to perform three operations:\n\n\n  Queries for data retrieval.\n  Mutations for creating, updating, and deleting data.\n  Subscriptions for watching for any data changes.\n\n\n\nMeshery's GraphQL API Reference\nSee GraphQL API Reference Self-generated API documentation for Meshery’s GraphQL API. The API can be explored interactively using the GraphQL Playground. Documentation is generated from Meshery’s GraphQL schema. Each table below documents a GraphQL type.\n\n\nREST\n\nMeshery provides a REST API available through the default port of 9081/tcp.\n\n\nMeshery's REST API Reference\nSee REST API Reference Self-generated API documentation for Meshery’s REST API. Documentation is generated from Meshery’s Open API schema.\n\n\nSee Also\n\n\n  Extension Points"
					}




					,

					"es-extensibility-api": {
						"id": "es-extensibility-api",
						"title": "Extensibilidad: APIs",
						"categories": "",
						"url": " /es/extensibility/api",
						"content": "APIs de Meshery\n\nCada una de las API de Meshery está sujeta al siguiente sistema de autenticación y autorización.\n\nAutenticación\n\nLas solicitudes a cualquiera de los puntos finales de la API deben estar autenticadas e incluir un token de acceso JWT válido en los encabezados HTTP. El tipo de autenticación está determinado por el Proveedor. Use el Provider Local, “None”, pone Meshery en modo de usuario-único y no requiere autenticación.\n\nAutorización\n\nActualmente, Meshery solo requiere un token válido para permitir que los clientes invoquen sus API.\n\nEndpoints (puntos finales del API)\n\nCada uno de los puntos finales de la API se expone a través de server.go. Los puntos finales se agrupan por función (p.ej. /api/mesh or /api/perf).\n\nAlternativamente, Proveedores Remotos pueden extender los puntos finales de Meshery detrás del endpoint /api/extensions/.\n\nGraphQL\n\nMeshery proporciona una API GraphQL disponible a través del puerto predeterminado de /tcp.\n\nREST\n\nMeshery proporciona una API REST disponible a través del puerto predeterminado de 9081/tcp."
					}




					,

					"functionality-application-management": {
						"id": "functionality-application-management",
						"title": "Application Management",
						"categories": "",
						"url": " /functionality/application-management",
						"content": "Meshery’s application management features allows you to store and onboard/offboard applications onto service meshes. Meshery also comes with some sample applications out-of-the-box for you to quickly try out service mesh features.\n\nWhat is a Meshery Application?\n\nA single file (future: which could be split into multiple files upon user request) that comprises Kubernetes objects representative of a complete set of Kubernetes workload resources.\n\nWhat is a Meshery Rollout?\n\"v1\" Application = Services + Deployments + ReplicaSets\n\"v2\" Application = Services + Deployments + ReplicaSets (Rollout Strategy) \n\n\nYou can define the applications as Kubernetes manifest files* as well as pattern files.\n\n\n\nYou can also import application files from the filesystem, a URL or from a GitHub repository.\n\n\n\nSee Guide: Application Management for a more detailed guide on working with your applications in Meshery.\n\nKnown Caveats:\n\n  Rollouts do not support custom ServiceAccount names. User’s ServiceAccount name must be the same as the Rollouts name."
					}




					,

					"concepts-architecture": {
						"id": "concepts-architecture",
						"title": "Architecture",
						"categories": "",
						"url": " /concepts/architecture",
						"content": "Components, their Purpose, and Languages\n\nMeshery and its components are written using the following languages and technologies.\n\n\n  \n    \n      Components\n      Languages and Technologies\n    \n  \n  \n    \n      Meshery Server\n      Golang, gRPC, GraphQL, SMP\n    \n    \n      Meshery Adapters\n      Golang, gRPC, CloudEvents, SMI, OAM\n    \n    \n      Meshery WASM Filters\n      Rust and C++\n    \n    \n      Meshery UI\n      ReactJS, NextJS, BillboardJS\n    \n    \n      Meshery Provider UI\n      ReactJS, NextJS\n    \n    \n      Meshery Remote Providers\n      any - must adhere to Meshery Extension Points\n    \n    \n      Meshery Operator\n      Golang\n    \n    \n           MeshSync\n      Golang\n    \n    \n           Broker\n      Golang, NATS\n    \n    \n      Meshery Database\n      Golang, SQLlite\n    \n  \n\n\nDeployments\n\nMeshery deploys as a set of containers. Meshery’s containers can be deployed to either Docker or Kubernetes. Meshery components connect to one another via gRPC requests. Meshery Server stores the location of the other components and connects with those components as needed. Typically, a connection from Meshery Server to Meshery Adapters is initiated from a client request (usually either mesheryctl or Meshery UI) to gather information from the Adapter or invoke an Adapter’s operation.\n\nAdapters\n\nIn Meshery v0.6.0, Adapters will register with Meshery Server over HTTP POST. If Meshery Server is not available, Meshery Adapters will backoff and retry to connect to Meshery Server perpetually.\n\n\n\nFigure: Meshery deploys inside or outside of a Kubernetes cluster\n\nAdapters and Capabilities Registry\n\nEach Meshery Adapter delivers its own unique service mesh-specific functionality. As such, at time of deployment, the Meshery Adapter will register its service mesh-specific capabilities (its operations) with Meshery Server’s capability registry.\n\n\n\nFigure: Service Mesh Adapter Operation Registration\n\nClients\n\nMeshery’s REST API may be consumed by any number of clients. Clients need to present valid JWT token.\n\n\n\nFigure: Clients use Meshery’s REST API, GraphQL API, or a combination of both.\n\nProviders\n\nAs a point of extension, Meshery supports two types of providers: Local and Remote.\n\n\n\nObject Model\n\nThis diagram outlines logical constructs within Meshery and their relationships.\n\n\n\nMeshery Operator and MeshSync\n\nMeshery Operator is the multi-service mesh operator (a Kubernetes custom controller) that manages MeshSync and it’s messaging broker.\n\n\n\nSee the Operator section for more information on the function of an operator and MeshSync section for more information on the function of meshsync.\n\nDatabase\n\nMeshery Server’s database is responsible for collecting and centralizing the state of all elements under management, including infrastructure, application, and Meshery’s own components. Meshery’s database, while persisted to file, is treated as a cache.\n\n\n\nSee the Database section for more information on the function of the database.\n\nStatefulness in Meshery components\n\nSome components within Meshery’s architecture are concerned with persisting data while others are only\nconcerned with a long-lived configuration, while others have no state at all.\n\n\n  \n    \n      Components\n      Persistence\n      Description\n    \n  \n  \n    \n      mesheryctl\n      stateless\n      command line interface that has a configuration file\n    \n    \n      Meshery Adapters\n      stateless\n      interface with service meshes on a transactional basis\n    \n    \n      Meshery Server\n      caches state\n      application cache is stored in $HOME/.meshery/ folder\n    \n    \n      Meshery Providers\n      stateful\n      location of persistent user preferences, environment, tests and so on\n    \n    \n      Meshery Operator\n      stateless\n      operator of Meshery custom controllers, notably MeshSync\n    \n    \n      MeshSync\n      stateless\n      Kubernetes custom controller, continuously running discovery\n    \n  \n\n\nNetwork Ports\n\nMeshery uses the following list of network ports to interface with its various components:\n\n\n  \n    \n      Component\n      Port\n      Purpose\n    \n  \n  \n    \n      Meshery Server\n      9081/tcp\n      UI, REST and GraphQL APIs\n    \n    \n      Meshery Broker\n      4222/tcp\n      Client communication with Meshery Server\n    \n    \n      Meshery Broker\n      8222/tcp\n      HTTP management port for monitoring Meshery Broker. Available as of Meshery v0.5.0\n    \n    \n      Meshery Broker\n      6222/tcp\n      Routing port for Broker clustering. Unused as of Meshery v0.6.0-rc-2\n    \n    \n      Meshery Broker\n      7422/tcp\n      Incoming/outgoing leaf node connections. Unused as of Meshery v0.6.0-rc-2\n    \n    \n      Meshery Broker\n      7522/tcp\n      Gateway to gateway communication. Unused as of Meshery v0.6.0-rc-2\n    \n    \n      Meshery Broker\n      7777/tcp\n      used for Prometheus NATS Exporter. Unused as of Meshery v0.6.0-rc-2\n    \n    \n      Learn Layer5 Application\n      10011/tcp\n      SMI conformance testing\n    \n    \n      Meshery Remote Providers\n      443/tcp\n      e.g. Meshery Cloud\n    \n    \n       Meshery Adapter for App Mesh\n      10005/gRPC\n      Communication with Meshery Server\n    \n    \n       Meshery Adapter for Cilium Service Mesh\n      10012/gRPC\n      Communication with Meshery Server\n    \n    \n       Meshery Adapter for Consul\n      10002/gRPC\n      Communication with Meshery Server\n    \n    \n       Meshery Adapter for Citrix Service Mesh\n      10008/gRPC\n      Communication with Meshery Server\n    \n    \n       Meshery Adapter for Istio\n      10000/gRPC\n      Communication with Meshery Server\n    \n    \n       Meshery Adapter for Kuma\n      10007/gRPC\n      Communication with Meshery Server\n    \n    \n       Meshery Adapter for Linkerd\n      10001/gRPC\n      Communication with Meshery Server\n    \n    \n       Meshery Adapter for NGINX Service Mesh\n      10010/gRPC\n      Communication with Meshery Server\n    \n    \n       Meshery Adapter for Network Service Mesh\n      10004/gRPC\n      Communication with Meshery Server\n    \n    \n       Meshery Adapter for Open Service Mesh\n      10009/gRPC\n      Communication with Meshery Server\n    \n    \n       Meshery Adapter for Tanzu Service Mesh\n      10011/gRPC\n      Communication with Meshery Server\n    \n    \n       Meshery Adapter for Traefik Mesh\n      10006/gRPC\n      Communication with Meshery Server\n    \n  \n\n\n\n  \n    \n      Meshery Perf\n      10013/gRPC\n      Performance Management\n    \n  \n\n\nSee the Adapters section for more information on the function of an adapter."
					}




					,

					"es-concepts-architecture": {
						"id": "es-concepts-architecture",
						"title": "Arquitectura",
						"categories": "",
						"url": " /es/concepts/architecture",
						"content": "Componentes, su propósito y Lenguajes\n\nMeshery y sus componentes están escritos utilizando los siguientes lenguajes de programación y tecnologías.\n\n\n  \n    \n      Componentes\n      Lenguajes y Tecnologías\n    \n  \n  \n    \n      Meshery Server\n      Golang, gRPC, GraphQL, SMP\n    \n    \n      Meshery Adapters\n      Golang, gRPC, CloudEvents, SMI, OAM\n    \n    \n      Meshery WASM Filters\n      Rust y C++\n    \n    \n      Meshery UI\n      ReactJS, NextJS, BillboardJS\n    \n    \n      Meshery Provider UI\n      ReactJS, NextJS\n    \n    \n      Meshery Remote Providers\n      cualquiera - debe adherirse a los Extension Points de Meshery\n    \n    \n      Meshery Operator\n      Golang\n    \n    \n           MeshSync\n      Golang\n    \n    \n           Broker\n      Golang, NATS\n    \n    \n      Meshery Database\n      Golang, SQLlite\n    \n  \n\n\nDespliegues\n\nMeshery se despliega como un conjunto de contenedores. Los contenedores de Meshery pueden ser desplegados en Docker o Kubernetes. Los componentes de Meshery se conectan entre sí a través de peticiones gRPC. Meshery Server almacena la ubicación de los otros componentes y se conecta con estos componentes según sea necesario. Típicamente, una conexión de Meshery Server a Meshery Adapters es iniciada desde un petición de cliente (generalmente mesheryctl o Meshery UI) para recopilar información del Adapter o invocar una operación del Adapter.\n\nAdapters\n\nEn Meshery v0.6.0, los Adapters se registrarán con Meshery Server a través de HTTP POST. Si Meshery Server no está disponible, los Meshery Adapters se apartan y vuelven a reintentar conectarse a Meshery Server perpetuamente.\n\n\n\nFigure: Despliegue de Meshery dentro o fuera de un clúster de Kubernetes\n\nAdapters y Registro de Capacidades\n\nCada Meshery Adapter ofrece su propia funcionalidad específica de un servicio único. Como tal, en el momento del despliegue, el Meshery Adapter registrará sus capacidades específicas de service mesh (sus operaciones) con el registro de capacidades de Meshery Server.\n\n\n\nFigure: Registro de Operación de Service Mesh Adapter\n\nClientes\n\nLa REST API de Meshery puede ser consumida por cualquier número de clientes. Los clientes necesitan presentar un token JWT válido.\n\n\n\nFigure: Los clientes usan REST API, GraphQL API de Meshery o una combinación de ambos.\n\nProviders\n\nComo un punto de extensión, Meshery soporta dos tipos de providers: Local y Remoto.\n\n\n\nModelo de Objetos\n\nEste diagrama describe las construcciones lógicas dentro de Meshery y sus relaciones.\n\n\n\nMeshery Operator y MeshSync\n\nMeshery Operator es el operador multi-service mesh (un controlador de Kubernetes personalizado) que administra MeshSync y su agente de mensajes.\n\n\n\nVer la sección Operator para obtener más información sobre la función de un operador y la sección MeshSync para obtener más infromación sobre la función de MeshSync.\n\nBase de datos\n\nLa base de datos de Meshery es responsable de recopilar y centralizar el estado de todos los elementos bajo administración, incluyendo la infraestructura, la aplicación y los propios componentes de Meshery. La base de datos de Meshery, a la vez que persiste para archivar, es tratada como caché.\n\n\n\nVer la sección Database para obtener más información sobre la función de la base de datos.\n\nStatefulness en los componentes de Meshery\n\nAlgunos componentes dentro de la arquitectura de Meshery se ocupan de la persistencia de datos, mientras que otros solo se relacionan con una configuración de larga duración, mientras que otros no tienen ningún estado en absoluto.\n\n\n  \n    \n      Componente\n      Persistencia\n      Descripción\n    \n  \n  \n    \n      mesheryctl\n      stateless\n      interfaz de línea de comandos que tiene un archivo de configuración\n    \n    \n      Meshery Adapters\n      stateless\n      interfaz con service meshes sobre una base transaccional\n    \n    \n      Meshery Server\n      caches state\n      la memoria caché de la aplicación se almacena en la carpeta $HOME/.meshery/ del usuario\n    \n    \n      Meshery Providers\n      stateful\n      ubicación de las preferencias de usuario persistentes, ambiente, pruebas y etc.\n    \n    \n      Meshery Operator\n      stateless\n      operador de controladores personalizados de Meshery, espacialmente MeshSync\n    \n    \n      MeshSync\n      stateless\n      Controlador personalizado de Kubernetes, continuamente ejecutando el descubrimiento\n    \n  \n\n\nPuertos de Red\n\nMeshery usa la siguiente lista de puertos de red para interactuar con sus diversos componenetes:\n\n\n  \n    \n      Componente\n      Puerto\n    \n  \n  \n    \n      Meshery REST API\n      9081/tcp\n    \n    \n      Meshery GraphQL\n      9081/tcp\n    \n    \n      Meshery Broker\n      4222/tcp, 6222/tcp, 8222/tcp, 7777/tcp, 7422/tcp, 7522/tcp\n    \n    \n      Learn Layer5 Application\n      10011/tcp\n    \n    \n      Meshery Adapters\n      10000+/tcp\n    \n    \n      Meshery Remote Providers\n      443/tcp\n    \n  \n\n\nPuertos de Adapter\n\n\n  \n    \n      Service Mesh\n      Port\n    \n  \n  \n    \n       Meshery Adapter for App Mesh\n                                               10005/gRPC\n    \n    \n       Meshery Adapter for Cilium Service Mesh\n                                               10012/gRPC\n    \n    \n       Meshery Adapter for Consul\n                                               10002/gRPC\n    \n    \n       Meshery Adapter for Citrix Service Mesh\n                                               10008/gRPC\n    \n    \n       Meshery Adapter for Istio\n                                               10000/gRPC\n    \n    \n       Meshery Adapter for Kuma\n                                               10007/gRPC\n    \n    \n       Meshery Adapter for Linkerd\n                                               10001/gRPC\n    \n    \n       Meshery Adapter for NGINX Service Mesh\n                                               10010/gRPC\n    \n    \n       Meshery Adapter for Network Service Mesh\n                                               10004/gRPC\n    \n    \n       Meshery Adapter for Open Service Mesh\n                                               10009/gRPC\n    \n    \n       Meshery Adapter for Tanzu Service Mesh\n                                               10011/gRPC\n    \n    \n       Meshery Adapter for Traefik Mesh\n                                               10006/gRPC\n    \n  \n\n\nVer la sección Adapters para obtener más información sobre la función del adapter."
					}




					,

					"es-architecture": {
						"id": "es-architecture",
						"title": "Arquitectura de Meshery",
						"categories": "",
						"url": " /es/architecture",
						"content": "Arquitectura\n\nLa arquitectura de Meshery puede ser vista desde dos perspectivas:\n\n1. Clientes\n2. Proveedores\n\n\n\n1. Arquitectura del Client\n\n\n\n2. Arquitectura del Proveedor\n\n\n\nPuertos de Red\n\nMeshery utiliza la siguiente lista de puertos de red para conectarse con sus múltiples componentes:\n\n\n  \n    \n      Applicación de Red\n      Puerto\n    \n  \n  \n    \n      Meshery REST API\n      9081/tcp\n    \n    \n      Learn Layer5 Application\n      10011\n    \n  \n\n\nPuertos del Adaptador\n\n\n  \n    \n      Service Mesh\n      Puerto\n    \n  \n  \n    \n       Meshery Adapter for App Mesh\n                                               10005/gRPC\n    \n    \n       Meshery Adapter for Cilium Service Mesh\n                                               10012/gRPC\n    \n    \n       Meshery Adapter for Consul\n                                               10002/gRPC\n    \n    \n       Meshery Adapter for Citrix Service Mesh\n                                               10008/gRPC\n    \n    \n       Meshery Adapter for Istio\n                                               10000/gRPC\n    \n    \n       Meshery Adapter for Kuma\n                                               10007/gRPC\n    \n    \n       Meshery Adapter for Linkerd\n                                               10001/gRPC\n    \n    \n       Meshery Adapter for NGINX Service Mesh\n                                               10010/gRPC\n    \n    \n       Meshery Adapter for Network Service Mesh\n                                               10004/gRPC\n    \n    \n       Meshery Adapter for Open Service Mesh\n                                               10009/gRPC\n    \n    \n       Meshery Adapter for Tanzu Service Mesh\n                                               10011/gRPC\n    \n    \n       Meshery Adapter for Traefik Mesh\n                                               10006/gRPC\n    \n  \n\n\nVéase la sección de Adaptadores para más información sobre el funcionamiento de un adaptador.\n\n**Estado en los componentes de Meshery **\n\nAlgunos componentes dentro la arquitectura de Meshery se preocupan por la persistencia de datos mientras que otros se preocupan por una configuración duradera, mientras que otros no lo consideran.\n\n\n  \n    \n      Componentes\n      Persistencia\n      Descripción\n    \n  \n  \n    \n      mesheryctl\n      stateless\n      interface de línea de comando con un archivo de configuración\n    \n    \n      Adaptadores de Meshery\n      stateless\n      interface con service meshes con una base transaccional\n    \n    \n      Servidor de Meshery\n      caché de estado\n      caché de aplicación guardada en la carpeta de usuario $HOME/.meshery/`\n    \n    \n      Proveedores de Meshery\n      stateful\n      ubicación de preferencias persitentes de usuario, ambiente, pruebas, entre otros"
					}








					,

					"guides-mesheryctl-authenticate-with-meshery-via-cli": {
						"id": "guides-mesheryctl-authenticate-with-meshery-via-cli",
						"title": "Authenticating with Meshery via CLI",
						"categories": "",
						"url": " /guides/mesheryctl/authenticate-with-meshery-via-cli",
						"content": "To authenticate with Meshery through mesheryctl you will use the command mesheryctl system login. Upon execution of this command, select your Provider of choice, then authenticate to your chosen Provider.\n\nGet your Token\n\nYou can retrieve your authentication token from either of Meshery’s two clients: the CLI or the UI.\n\n\n  \n    Get your token through Meshery UI, from the Get Token option.\n\n    Downloading the token\n\n    \n\n\n  \n  \n    Get your token through Meshery CLI.\n\nTo get the token through mesheryctl you would have to use the following command and the path to token for authenticating to Meshery API (default “auth.json”).\n\n    \n\nmesheryctl system config --token [path-to-file]\n  \n\n\n    \n  \n\n\nThe need for authentication to Meshery provider is to save your environment setup while also having persistent/steady sessions and to be able to retrieve performance test results.\n\n\nSuggested Reading\n\nFor an exhaustive list of mesheryctl commands and syntax:\n\n\n  See mesheryctl Command Reference.\n\n\nGuides to using Meshery’s various features and components.\n\n\n  \n  \n\nUpgrading mesheryctl"
					}




					,

					"es-concepts-architecture-broker": {
						"id": "es-concepts-architecture-broker",
						"title": "Broker",
						"categories": "",
						"url": " /es/concepts/architecture/broker",
						"content": "Broker es un controlador personalizado Kubernetes que provee transmisión de datos a través de componentes independientes de Meshery, ya sea que esos componentes se ejecuten dentro o fuera del clúster de Kubernetes.\n\nPreguntas Frequentes del Broker\n\n¿Cuántos Brokers pueden ejecutarse?\nSe recomienda ejecutar una instancia de agente para cada clúster de kubernetes. Sin embargo, la instancia en sí se puede escalar en función del volumen de datos entrantes en cada uno de los clústeres. El escalado es independiente del número de instancias en ejecución.\n\n¿Cómo se ve una configuración HA?\nAprovechamos la funcionalidad de kubernetes en términos del comportamiento de alta disponibilidad(High Avaliavility - HA). Es decir, la instancia del agente se crea una instancia / se reinicia por sí sola cuando ocurre un problema. En parte, Meshery-Operator también es responsable de mantener al corredor en funcionamiento.\n\n¿Qué caracteristicas con estado tiene el Broker?\nTodos los mensajes que se publican en el intermediario se conservan en la memoria dentro de la instancia del intermediario hasta que se consumen. El Broker no está utilizando actualmente el volumen persistente / espacio en disco.\n\n¿Cómo saber si el Broker está funcionando? ¿Cómo solucionar problemas con el Broker?\nLa instancia de Broker se implementa dentro del clúster de kubernetes como un “Statefulset”. En el caso de que el agente no parezca funcionar, aquí hay algunos pasos para solucionar el problema de la instancia:\n\n\n  Asegúrese de que los pods correspondientes al Statefulset estén en funcionamiento.\n  Asegúrese de que el clúster de kubernetes sea compatible con el tipo de Servicio de kubernetes LoadBalancer o NodePort.\n  Asegure la conectividad entre Meshery-Server y el punto final del servicio Broker."
					}




					,

					"concepts-architecture-broker": {
						"id": "concepts-architecture-broker",
						"title": "Broker",
						"categories": "",
						"url": " /concepts/architecture/broker",
						"content": "Broker is a custom Kubernetes controller that provides data streaming across independent components of Meshery whether those components are running inside or outside of the Kubernetes cluster.\n\nBroker FAQs\n\nHow many Brokers can run?\nIt is recommended to run one broker instance for each kubernetes cluster, However the instance itself can be scaled up based on the incoming data volume in each of the cluster. The scaling is independent of the number of instances running.\n\nWhat does an HA configuration look like?\nWe leverage on the kubernetes functionality in terms of the High-Availability behaviour. Meaning, the broker instance gets instantiated/restarted on its own when an issue occurs. In part, Meshery-Operator is also resposible for keeping the broker functional.\n\nWhat stateful characteristics does the Broker have?\nAll the messages that are published to the broker is persisted in-memory within the broker instance until it get consumed. Persistent-volume/Disk-space is not currently being used by the Broker.\n\nHow do I know if the Broker is working? How do I troubleshoot the Broker?\nThe Broker instance is deployed inside the kubernetes cluster as a Statefulset. In the case where the broker doesnt seem to work, here are a few steps to troubleshoot the instance:\n\n\n  Make sure the pods corresponding to the Statefulset is up and running.\n  Make sure the kubernetes cluster has support for kubernetes Service type LoadBalancer or NodePort.\n  Ensure connectivity between the Meshery-Server and the Broker service endpoint."
					}




					,

					"project-build-and-release": {
						"id": "project-build-and-release",
						"title": "Build &amp; Release (CI)",
						"categories": "",
						"url": " /project/build-and-release",
						"content": "Meshery’s build and release system incorporates many tools, organized into different workflows each triggered by different events. Meshery’s build and release system does not run on a schedule, but is event-driven. GitHub Actions are used to define Meshery’s CI workflows. New builds of Meshery and its various components are automatically generated upon push, release, and other similar events, typically in relation to their respective master branches.\n\nArtifacts\n\nToday, Meshery and Meshery adapters are released as Docker container images, available on Docker Hub. Meshery adapters are out-of-process adapters (meaning not compiled into the main Meshery binary), and as such, are independent build artifacts and Helm charts.The process of creating Docker images, tagging with the git commit SHA and pushing to Docker Hub is being done automatically using GitHub Actions. And When the contribution includes content of Helm chart of Meshery and Meshery Adapter was lint and merged, it will be pushing and release to meshery.io Github page by GitHub Action automatically.\n\nArtifact Repositories\n\nArtifacts produced in the build processes are published and persisted in different public repositories and in different formats.\n\n\n  \n    \n      Location\n      Project\n      Repository\n    \n  \n  \n    \n      Docker Hub\n      Meshery\n      https://hub.docker.com/r/layer5/meshery\n    \n    \n      GitHub\n      mesheryctl\n      https://github.com/layer5io/meshery/releases\n    \n    \n      Docker Hub\n      Meshery Adapter for &lt;service-mesh&gt;\n      https://hub.docker.com/r/layer5/meshery-&lt;service-mesh&gt;\n    \n    \n      Docs\n      Meshery Documentation\n      https://docs.meshery.io\n    \n    \n      GitHub\n      Service Mesh Performance\n      https://github.com/layer5io/service-mesh-performance\n    \n    \n      Github\n      Helm charts\n      https://github.com/meshery/meshery.io/tree/master/charts\n    \n  \n\n\nSecrets\n\nSome portions of the workflow require secrets to accomplish their tasks. These secrets are defined within the respective repositories and accessible to workflows during runtime. Currently defined secrets include:\n\n\n  DOCKER_USERNAME: Username of the Docker Hub user with the right privileges to push images\n  DOCKER_PASSWORD: Password for the Docker Hub user\n  GO_VERSION: As of July 21st 2021 it is 1.16\n  IMAGE_NAME: appropriate image name for each of the Docker container images. All are under the layer5io org.\n  SLACK_BOT_TOKEN: Used for notification of new GitHub stars given to the Meshery repo.\n  CYPRESS_RECORD_KEY: Used for integration with the Layer5 account on Cypress.\n  GLOBAL_TOKEN: Used for securely transmitting performance test results for the None Provider.\n\n\nThe Docker Hub user, mesheryci, belongs to the “ciusers” team in Docker Hub and acts as the service account under which these automated builds are being pushed. Every time a new Docker Hub repository is created we have to grant “Admin” (in order to update the README in the Docker Hub repository) permissions to the ciusers team.\n\nChecks and Tests\nMeshery’s CI workflow incorporates several checks (partial list below) during merges and/or commits to any branches and pull requests to master branch to prevent broken code from being merged into master.\n\nCollectively, Meshery repositories will generally have CI workflow for commits and pull requests that consist of the following actions:\n\n\n  Lint check (golint)\n  Static analysis check (staticcheck)\n  Vet (govet)\n  Security checks (gosec)\n  Unit tests (go tests)\n  Build (go build)\n  Release binaries through GoReleaser (only for mesheryctl in the Meshery repository)\n  Docker build, tag and push\n  Helm charts lint (helm)\n  Helm charts release, tag and push(stefanprodan/helm-gh-pages@master)\n\n\nTests for adapters\nAll Meshery adapters use a central workflow that is referenced in each of their test workflows which get triggered every time a pull request is made. These\ntests in adapters are end-to-end tests and use patternfile. The reusable workflow is present in .github/workflows in Meshery repository with the workflow name “Test for Meshery adapters using patternfile”\n\nThe pre-requisite of referencing this workflow is -\n\n  Using actions/upload-artifact@v2 a patternfile has to be uploaded as an artifact with the name as “patternfile”.\n  The name of the uploaded patterfile should be passed in\n\n\n\n  ...\n  with:\n      patternfile_name: &lt; name of the patternfile which is uploaded &gt;\n\n\n\n  Note: This Job is pre-run to the actual test. This is done in order to create patternfiles dynamically and use them. Therefore name of this jobs has to be passed as\n\n\n\n  ...\n  needs: \n     &lt; Name of the pre-requisite job &gt;\n\n\n\n  There should be an infinite token passed in: (Or else local provider will be used)\n\n\n\n  ...\n  secrets:\n    token: $\n\n\nThe central workflow functionally does -\n\n  Checks out the code of the repository(on the ref of latest commit of branch which made the PR) in which it is referenced.\n  Starts a minikube cluster\n  Builds a docker image of the adapter and sets minikube to use docker’s registry.\n  Starts the adapter and meshery server (The url to deployment and service yaml of adapter are configurable).\n NOTE: The service mesh name( whose adapter we are testing ) has to passed in:\n\n\n\n  ...\n  with:\n     adapter_name: &lt; NAME OF THE SERVICE MESH &gt;\n\n\n\n  The uploaded patternfile is deployed.\n  Workflow sleeps for some time.\n  Then the assertion is made that the pods passed in-\n\n\n\n  ...\n  with:\n     expected_pods: &lt; pod1,pod2,pod3 &gt;  #comma separated pod names that will be expected to be present after patternfile is deployed 8. And these pods are present in their respective namespaces passed in-\n\n\n\n  ...\n  with:\n     expected_pods_namespaces: &lt; pod1ns, pod2ns , pod3ns &gt;\n\n\nExpected inputs of this workflow\n\n\ninputs:\n  expected_pods:\n    required: true\n    type: string\n  expected_pods_namespaces:\n    required: true\n    type: string\n  service_url:\n    required: true\n    type: string\n  deployment_url:\n    required: true\n    type: string\n  adapter_name:\n    required: true\n    type: string   \n  patternfile_name:\n    required: true\n    type: string   \n  provider: \n    required: false\n    type: string   \nsecrets:\n  token:\n\n\nExpected outputs of this workflow\nThe pods passed in “expected_pods” are running in the subsequent namespaces passed in “expected_pods_namespaces”. If not, the workflow fails\nAutomated Builds\n\nAll Meshery GitHub repositories are configured with GitHub Actions. Everytime a pull request is submitted against the master branch of any repository, that repository’s GitHub Actions will be invoked (whether the PR is merged or not). Workflows defined in Meshery repository will generally (but not always) perform the following actions:\n\n\n  trigger a Docker build to build a Docker container image\n  generate two Docker tags:\n    \n      a tag containing the git merge SHA\n      a tag containing that particular release’s git tag (if one is present)\n    \n  \n  assign each of these two tags to the new container image as well as the latest tag.\n  push the new Docker tags and image to Docker Hub.\n\n\nBuilding mesheryctl\n\nAs a special case, the meshery repository contains an additional artifact produced during each build. This artifact is mesheryctl which is built as an executable binary. In order to make the job of building mesheryctl easier for a combination of different platform architectures and operating systems, we are using GoReleaser. Irrespective of branch, for every git commit and git push to the meshery repository, GoReleaser will execute and generate the OS and arch-specific binaries ( but will NOT publish them to GitHub). Even though mesheryctl binaries are built each time a pull request is merged to master, only stable channel artifacts are published (persisted).\n\nReleasing mesheryctl to GitHub\n\nOnly when a git tag containing  a semantic version number is present (is a commit in the master branch) will GoReleaser execute, generate the archives, and also publish the archives to Meshery’s GitHub releases automatically. GoReleaser is configured to generate artifacts for the following OS, ARCH combination:\n\n\n  Darwin - i386, x86_64\n  Linux - i386, x86_64\n  Windows - i386, x86_64\n  FreeBSD - i386, x86_64\n\n\nThe artifacts will be made available as a tar.gz archive for all the operating systems. mesheryctl is bundled into packages for commonly used package managers: homebrew and scoop.\n\nHomebrew\n\nGoReleaser facilitates the creation of a brew formula for mesheryctl. The homebrew-tap repository is the location for Layer5’s brew formulas.\n\nScoop\n\nGoReleaser facilitates the creation of a Scoop app for mesheryctl. The scoop-bucket repository is the location of Layer5’s Scoop bucket.\n\nHelm Charts Lint Check, Build, and Release\n\nThe charts lint check, charts build, and charts release workflows are all triggered by GitHub events. Sometimes this event is the opening, updating, or merging of a branch, or sometimes a manual invocation, or a GitHub release event.\nCheck Helm Charts\n\nEvery PR which includes changes to the files under install/kubernetes/ directory in the meshery/meshery will trigger a Github Action to check for any mistakes in Helm charts using the helm lint command.\n\nRelease Helm Charts to Github and Artifact Hub\n\nNew Meshery Helm charts are published upon trigger of a release event in the meshery/meshery repo. New versions of Meshery’s Helm charts are published to Meshery’s Helm charts release page. [Artifact Hub] (https://artifacthub.io/packages/helm/meshery/meshery) syncs with these updated Meshery Helm charts.\n\nRelease Versioning\n\nMeshery and its components follow the commonly used, semantic versioning for its release numbering scheme. Given a version number MAJOR.MINOR.PATCH.BUILD, increment the:\n\n\n  MAJOR version - major changes with rare potential for incompatible API changes.\n  MINOR version - add functionality in a backwards-compatible manner.\n  PATCH version - mostly for bug and security fixes.\n  AlPHA/BETA/RC - used to facilitate early testing of an upcoming release.\n\n\nComponent Versioning\n\nMeshery comprises a number of components including a server, adapters, UI, and CLI. As an application, Meshery is a composition of these different functional components. While all of Meshery’s components generally deploy as a collective unit (together), each component is versioned independently, so as to allow them to be loosely coupled and iterate on functionality independently.  Some of the components must be upgraded simultaneously, while others may be upgraded independently. See Upgrading Meshery for more information.\n\nGitHub release tags will contain a semantic version number. Semantic version numbers will have to be managed manually by tagging a relevant commit in the master branch with a semantic version number (example: v1.2.3).\n\nRelease Process\n\nDocumentation of Meshery releases contains a table of releases and release notes and should be updated with each release.\n\nAutomated Releases\n\nReleases are manually triggered by a member of the release team publishing a release. Release names and release tags need to be assigned by the publishing team member. GitHub Action workflows will trigger and take care of running the required steps and publishing all artifacts (e.g., binary and docker images).\n\nWorkflow Triggers\n\nThe following events will trigger one or more workflows:\n\n\n  Tagged Release\n  Commit pushed to the master branch\n  PR opened or commit pushed to PR branch\n  PR merged to the master branch\n\n\nRelease Notes\n\nWhile use of GitHub Actions facilitates automated builds, ReleaseDrafter is helping with facilitating automated release notes and versioning.\nGenerating Release Notes\n\nReleaseDrafter generates a GitHub tag and release draft. ReleaseDrafter action will trigger and will automatically draft release notes according to the configuration set-up. ReleaseDrafter drafts releases as soon as a commit is made into master after the previous release. The GitHub Action, ReleaseDrafter, is compatible with semantic releases and is used to auto-increment the semantic version number by looking at the previous release version.\n\nAutomated Release Notes Publishing\n\nThe publishing of release notes to Meshery Docs is automated. Triggered by a release event, a workflow will checkout the Meshery repo, copy the auto-drafted release notes into a Jekyll collection in Meshery Docs, and generate a pull request.\n\nAutomated Pull Request Labeler\n\nA GitHub Issue labeler bot is configured to automatically assign labels to issues based on which files have changed in which directories. For example, a pull request with changes to files in the “/docs/**” folder will receive the “area/docs” label. Presence of the “area/docs” label is used to trigger documentation builds and Netlify builds of the Meshery Docs. Similar labels are assigned and used to trigger workflows or used as conditional flags in workflows to determine which workflows or which steps in a workflows to run.\n\nRelease Channels\n\nArtifacts of the builds for Meshery and its components are published under two different release channels, so that improved controls may be provided to both Meshery users and Meshery developers. The two release channels are edge and stable release channels.\n\nRelative to stable releases, edge releases occur much more frequently. Edge releases are made with each merge to master, unless that merge to master is for a stable release. Stable releases are made with each merge to master when a GitHub release tag is also present in the workflow.\n\nStable Channel\n\nThe following is an example of the release channels and the docker tags used to differentiate them. The latest tag will be applied only to images in the stable release channel. Here are two releases with two different images.\n\nLatest Stable Image\n\n\n  layer5/meshery:stable-latest\n  layer5/meshery:stable-v0.4.1\n  layer5/meshery:stable-324vdgb (sha)\n\n\nOlder Stable Image\n\n\n  layer5/meshery:stable-v0.4.0\n  layer5/meshery:stable-289d02 (sha)\n\n\nEvery docker image built receives either the edge tags or the stable tabs. Which set of image tags assigned is determined by whether a release tag is present or not. In other words, stable channel docker images get the “stable” tags only in the presence of a release tag (e.g. v0.4.1).\n\nEdge Channel\n\nThe edge release channel generally contains code less tested, less “baked”. The primary reason for “edge” is to allow contributors and advanced users to get at features sooner than later. Some features need testing that is best facilitated by letting users with tolerance and patience try them out.\n\nStable and edge releases are both published to the same Docker Hub repository. Docker Hub repositories differentiate release channels by image tag. The following Docker images tagging convention is followed:\n\nLatest Edge Image\n\n\n  layer5/meshery:edge-latest\n  layer5/meshery:edge-289d02 (sha)\n\n\nOlder Edge Image\n\n\n  layer5/meshery:edge-324vdgb (sha)\n\n\nSwitching Between Meshery Release Channels\n\nUsers are empowered to switch between release channels at their leisure.\n\nSwitching Release Channels Using mesheryctl\n\nUsers can use mesheryctl to switch between release channels, e.g. mesheryctl system channel [stable|edge].  Alternatively, users can manually switch between channels by updating the docker image tags in their meshery.yaml / Kubernetes manifest files. This command generates a meshery.yml (a docker-compose file) with release channel-appropriate tags for the different Docker container images.\n\nViewing Release Channel and Version Information in Meshery UI\n\nUsers are shown their Meshery deployment’s release channel subscription enient new setting in the Preferences area of the Meshery UI, so that people can alternatively use the UI to switch between channels if they like. Version numbers for Meshery adapters are also shown in the UI.\n\nRelease Cadence\n\nMinor releases of the Meshery project are release frequently (on a monthly basis on average) with patch releases made on-demand in-between those times. The project does not have long term releases that are sustained with bug fixes, yet. Bug fixes and patches will be released as needed on the latest release version.\n\nRelease Support\n\nGeneral community support and commercial support from Layer5 is available. Separately, third parties and partners may offer longer-term support solutions.\n\nPre v1.0\n\nProject focuses on functionality, quality and adoption, while retaining the flexibility for shifts in architecture.\n\nPost v1.0\n\nOnce a 1.0 release has been made, Around once a month or so, the project maintainers will take one of these daily builds and run it through a number of additional qualification tests and tag the build as a Stable release. Around once a quarter or so, the project maintainers take one of these Stable releases, run through a bunch more tests and tag the build as a Long Term Support (LTS) release. Finally, if we find something wrong with an LTS release, we issue patches.\n\nThe different types (Daily, Stable, LTS) represent different product quality levels and different levels of support from the Meshery team. In this context, support means that we will produce patch releases for critical issues and offer technical assistance.\n\nVersioning Documentation\nFor new major release\n\nThe structure which the docs follow right now is, The main docs folder has the most recent version of documentation, while there are sub-folders for previous versions, v0.x (x being the last major release).\nOn release of a new major version, the static html files for the most recent version is generated and is renamed as the release version (v0.x).\n\nSteps:\nAfter cloning the Meshery repository\n\n  cd docs &gt; bundle install &gt; make site\n  On executing make site a _site folder is created which has static html files.\n  The _site folder is renamed to v0.x.\n  This v0.x folder is now the latest version of docs.\n\n\nIn the v0.x folder\n\n  Search and replace all the instances where there is a direct path is defined to include the version name in the path, i.e, all paths to intra-page links and images should start with /v0.x/.\n    \n      Look for href=\"/ and replace with href=\"/0.x/\n      Look for src=\"/and replace with src=\"/0.x/ \n\n\n\n    \n  \n\n\nFor old release\n\nFor older releases we have to travel back in time. Using the Tags in github we go to a previous release, v0.X.x, the .x here should be the latest version of the archived docs.\n\nSteps:\n\n  \n    Copy the commit ID for that release. \n\n  \n\n  \n  git checkout &lt;commit ID&gt; &gt; cd docs &gt; bundle install &gt; make site\n  On executing make site a _site folder is created which has static html files.\n  The _site folder is renamed to v0.X and is copied into the docs folder of the present version.\n\n\nThe above steps for replacing all the instances of direct path are to be followed."
					}




					,

					"es-project-build-and-release": {
						"id": "es-project-build-and-release",
						"title": "Construcción y Lanzamiento (CI)",
						"categories": "",
						"url": " /es/project/build-and-release",
						"content": "El sistema de creación y lanzamiento de Meshery incorpora muchas herramientas, organizadas en diferentes flujos de trabajo, cada uno de los cuales se desencadena por diferentes eventos. El sistema de compilación y lanzamiento de Meshery no se ejecuta en un horario, sino que se basa en eventos. Las acciones de GitHub se utilizan para definir los flujos de trabajo de CI de Meshery. Las nuevas compilaciones de Meshery y sus diversos componentes se generan automáticamente tras la inserción, el lanzamiento y otros eventos similares, generalmente en relación con sus respectivas ramas maestras.\n\nArtefactos\n\nHoy, los adaptadores Meshery y Meshery se lanzan como imágenes de contenedor Docker, disponibles en Docker Hub. Los adaptadores de Meshery son adaptadores fuera de proceso (lo que significa que no se compilan en el binario principal de Meshery) y, como tales, son artefactos de compilación independientes. automáticamente usando acciones de GitHub.\n\nRepositorios de artefactos\n\nLos artefactos producidos en los procesos de construcción se publican y conservan en diferentes repositorios públicos y en diferentes formatos.\n\n\n  \n    \n      Ubicación\n      Proyecto\n      Repositorio\n    \n  \n  \n    \n      Docker Hub\n      Meshery\n      https://hub.docker.com/r/layer5/meshery\n    \n    \n      GitHub\n      mesheryctl\n      https://github.com/layer5io/meshery/releases\n    \n    \n      Docker Hub\n      Meshery Adapter for &lt;service-mesh&gt;\n      https://hub.docker.com/r/layer5/meshery-&lt;service-mesh&gt;\n    \n    \n      Docs\n      Meshery Documentation\n      https://docs.meshery.io\n    \n    \n      GitHub\n      Service Mesh Performance\n      https://github.com/layer5io/service-mesh-performance\n    \n  \n\n\nSecretos\n\nAlgunas partes del flujo de trabajo requieren secretos para realizar sus tareas. Estos secretos se definen dentro de los repositorios respectivos y son accesibles a los flujos de trabajo durante el tiempo de ejecución. Los secretos definidos actualmente incluyen:\n\n\n  DOCKER_USERNAME: nombre de usuario del usuario de Docker Hub con los privilegios adecuados para enviar imágenes\n  DOCKER_PASSWORD: Contraseña para el usuario de Docker Hub\n  GO_VERSION: A partir del 9 de diciembre de 2020 es 1,15\n  IMAGE_NAME: nombre de imagen apropiado para cada una de las imágenes del contenedor de Docker. Todos están bajo la organización layer5io.\n  SLACK_BOT_TOKEN: Usado para la notificación de nuevas estrellas de GitHub entregadas al repositorio de Meshery.\n  CYPRESS_RECORD_KEY`: Se utiliza para la integración con la cuenta Layer5 en Cypress.\n  GLOBAL_TOKEN: se utiliza para transmitir de forma segura los resultados de las pruebas de rendimiento para el proveedor Ninguno.\n\n\nEl usuario de Docker Hub, mesheryci, pertenece al equipo” ciusers “en Docker Hub y actúa como la cuenta de servicio bajo la cual se envían estas compilaciones automatizadas. Cada vez que se crea un nuevo repositorio de Docker Hub, tenemos que otorgar permisos de “Administrador” (para actualizar el archivo README en el repositorio de Docker Hub) al equipo de usuarios.\n\nComprobaciones y pruebas\nEl flujo de trabajo de CI de Meshery incorpora varias comprobaciones (lista parcial a continuación) durante las fusiones y / o confirmaciones de cualquier rama y solicitudes de extracción a la rama maestra para evitar que el código roto se fusione con el maestro.\n\nEn conjunto, los repositorios de Meshery generalmente tendrán un flujo de trabajo de CI para confirmaciones y solicitudes de extracción que constan de las siguientes acciones:\n\n\n  Control de pelusa (golint)\n  Comprobación de análisis estático (comprobación estática)\n  Veterinario (govet)\n  Controles de seguridad (gosec)\n  Pruebas unitarias (ir a pruebas)\n  Construir (ir a construir)\n  Lanzamiento de binarios a través de GoReleaser (solo para mesheryctl en el repositorio de Meshery)\n  Compilación, etiquetado y envío de Docker\n\n\nConstrucciones automatizadas\n\nTodos los repositorios de Meshery GitHub están configurados con acciones de GitHub. Cada vez que se envía una solicitud de extracción contra la rama maestra de cualquier repositorio, se invocarán las acciones de GitHub de ese repositorio (ya sea que el RP esté combinado o no). Los flujos de trabajo definidos en el repositorio de Meshery generalmente (pero no siempre) realizarán las siguientes acciones:\n\n\n  active una compilación de Docker para crear una imagen de contenedor de Docker\n  Genere dos etiquetas de Docker:\n    \n      una etiqueta que contiene el SHA de git merge\n      una etiqueta que contiene la etiqueta git de esa versión en particular (si hay una)\n    \n  \n  Asigne cada una de estas dos etiquetas a la nueva imagen del contenedor, así como a la última etiqueta.\n  Inserte las nuevas etiquetas y la imagen de Docker en Docker Hub.\n\n\nConstruyendo mesheryctl\n\nComo caso especial, el repositorio de mallas contiene un artefacto adicional producido durante cada compilación. Este artefacto es mesheryctl, que se construye como un binario ejecutable. Para facilitar el trabajo de construir mesheryctl para una combinación de diferentes arquitecturas de plataforma y sistemas operativos, estamos usando [GoReleaser] (https://goreleaser.com). Independientemente de la rama, por cada confirmación de git y envío de git al repositorio de meshery, GoReleaser ejecutará y generará el sistema operativo y los binarios específicos de arch (pero NO los publicará en GitHub). Aunque los binarios de mesheryctl se crean cada vez que se fusiona una solicitud de extracción con el maestro, solo se publican (conservan) los artefactos de canal estables.\n\nLiberando mesheryctl en GitHub\n\nSolo cuando esté presente una etiqueta git que contenga un número de versión semántica (es una confirmación en la rama maestra), GoReleaser se ejecutará, generará los archivos y también publicará los archivos en [versiones de GitHub de Meshery] (https://github.com/layer5io / meshery / releases) automáticamente. GoReleaser está configurado para generar artefactos para el siguiente sistema operativo, combinación ARCH:\n\n\n  Darwin - i386, x86_64\n  Linux - i386, x86_64\n  Windows - i386, x86_64\n  FreeBSD - i386, x86_64\n\n\nLos artefactos estarán disponibles como un archivo tar.gz para todos los sistemas operativos. mesheryctl se incluye en paquetes para administradores de paquetes de uso común: homebrew y scoop.\n\nHomebrew\n\nGoReleaser facilita la creación de una fórmula de preparación para mesheryctl. El repositorio [homebrew-tap] (https://github.com/layer5io/homebrew-tap) es la ubicación de las fórmulas de preparación de Layer5.\n\nScoop\n\nGoReleaser facilita la creación de una aplicación Scoop para mesheryctl. El repositorio scoop-bucket es la ubicación para el Scoop bucket de Layer5.\n\nVersionado de Lanzamientos\n\nSeguimos las versiones semánticas de uso común para las versiones de Meshery, Meshery Adapter y Performance Benchmark Specification. Dado un número de versión MAYOR.MENOR.PARCHE.CONSTRUIDO, incremente:\n\n\n  versión  MAYOR - cambios importantes con un potencial poco común de cambios de API incompatibles.\n  versión  MENOR - agregue funcionalidad de una manera compatible con versiones anteriores.\n  versión PARCHE - principalmente para correcciones de errores y seguridad.\n  AlPHA/BETA/RC - se utiliza para facilitar las pruebas tempranas de una próxima versión.\n\n\nVersionado de Componentes\n\nMeshery comprende una serie de componentes que incluyen un servidor, adaptadores, interfaz de usuario y CLI. Como aplicación, Meshery es una composición de estos diferentes componentes funcionales. Si bien todos los componentes de Meshery generalmente se implementan como una unidad colectiva (juntos), cada componente se versiona de forma independiente, para permitir que estén acoplados libremente e iterar en la funcionalidad de forma independiente. Algunos de los componentes deben actualizarse simultáneamente, mientras que otros pueden actualizarse de forma independiente. Consulte la guía Actualizando Versión Meshery para más  información.\n\nLas etiquetas de lanzamiento de GitHub contendrán un número de versión semántica. Los números de versión semántica deberán administrarse manualmente etiquetando una confirmación relevante en la rama maestra con un número de versión semántica (ejemplo: v1.2.3).\n\nProceso de lanzamiento\n\nLa documentación de las versiones de Meshery contiene una tabla de versiones y notas de la versión y debe actualizarse con cada versión.\n\nLanzamientos Automatizados\n\nLas versiones las activa manualmente un miembro del equipo de versiones que publica una versión. El miembro del equipo de publicación debe asignar los nombres y las etiquetas de las versiones. Los flujos de trabajo de acciones de GitHub activarán y se encargarán de ejecutar los pasos necesarios y de publicar todos los artefactos (por ejemplo, imágenes binarias y acoplables).\n\nActivadores de flujo de trabajo\n\nLos siguientes eventos activarán uno o más flujos de trabajo:\n\n\n  Lanzamiento etiquetado\n  Confirmación enviada a la rama principal\n  PR abierto o compromiso enviado a la rama PR\n  PR se fusionó con la rama principal\n\n\nNotas de Lanzamiento\n\nSi bien el uso de Acciones de GitHub facilita las compilaciones automatizadas, ReleaseDrafter está ayudando a facilitar las notas de la versión automatizadas y el control de versiones.\nGenerando Notas de la Versión\n\nReleaseDrafter genera una etiqueta de GitHub y un borrador de lanzamiento. La acción ReleaseDrafter se activará y redactará automáticamente notas de la versión de acuerdo con la configuración establecida. ReleaseDrafter borra las versiones tan pronto como una confirmación se convierte en maestra después de la versión anterior. La acción de GitHub, ReleaseDrafter, es compatible con las versiones semánticas y se utiliza para incrementar automáticamente el número de versión semántica mirando la versión de la versión anterior.\n\nPublicación automatizada de notas de la versión\n\nLa publicación de notas de la versión en Meshery Docs está automatizada. Activado por un evento de lanzamiento, un flujo de trabajo comprobará el repositorio de Meshery, copiará las notas de la versión redactadas automáticamente en una colección de Jekyll en Meshery Docs y generará una solicitud de extracción.\n\nEtiquetadora automática de solicitud de extracción\n\nUn bot etiquetador de problemas de GitHub está configurado para asignar etiquetas automáticamente a los problemas según los archivos que hayan cambiado en qué directorios. Por ejemplo, una solicitud de extracción con cambios en los archivos de la carpeta “/ docs / **” recibirá la etiqueta “area / docs”. La presencia de la etiqueta “area / docs” se utiliza para activar las compilaciones de documentación y las compilaciones de Netlify de Meshery Docs. Se asignan y utilizan etiquetas similares para desencadenar flujos de trabajo o se utilizan como indicadores condicionales en los flujos de trabajo para determinar qué flujos de trabajo o qué pasos de un flujo de trabajo ejecutar.\n\nCanales de lanzamiento\n\nLos artefactos de las compilaciones para Meshery y sus componentes se publican en dos canales de lanzamiento diferentes, por lo que se pueden proporcionar controles mejorados tanto a los usuarios de Meshery como a los desarrolladores de Meshery. Los dos canales de liberación son canales de liberación * edge * y * estable *.\n\nEn relación con las versiones estables, las versiones de borde ocurren con mucha más frecuencia. Las versiones de borde se realizan con cada fusión para master, a menos que la fusión para master sea para una versión estable. Las versiones estables se realizan con cada combinación para dominar cuando una etiqueta de versión de GitHub también está presente en el flujo de trabajo.\n\nCanal estable\n\nEl siguiente es un ejemplo de los canales de lanzamiento y las etiquetas de la ventana acoplable que se utilizan para diferenciarlos. La última etiqueta se aplicará solo a las imágenes del canal de versión estable. Aquí hay dos lanzamientos con dos imágenes diferentes.\n\nÚltima imagen estable\n\n\n  layer5/meshery:stable-latest\n  layer5/meshery:stable-v0.4.1\n  layer5/meshery:stable-324vdgb (sha)\n\n\nImagen Estable Anterior\n\n\n  layer5/meshery:stable-v0.4.0\n  layer5/meshery:stable-289d02 (sha)\n\n\nCada imagen de la ventana acoplable construida recibe las etiquetas de borde o las pestañas estables. El conjunto de etiquetas de imagen asignadas se determina en función de si hay una etiqueta de liberación o no. En otras palabras, las imágenes de la ventana acoplable de canal estable obtienen las etiquetas “estables” solo en presencia de una etiqueta de lanzamiento (por ejemplo, v0.4.1).\n\nCanal Edge\n\nEl canal de liberación edge generalmente contiene código menos probado, menos “horneado”. La razón principal de la “ventaja” es permitir que los contribuyentes y usuarios avanzados accedan a las funciones más temprano que tarde. Algunas funciones necesitan pruebas que se facilitan mejor al permitir que los usuarios con tolerancia y paciencia las prueben.\n\nLas versiones estables y perimetrales se publican en el mismo repositorio de Docker Hub. Los repositorios de Docker Hub diferencian los canales de lanzamiento por etiqueta de imagen. Se sigue la siguiente convención de etiquetado de imágenes de Docker:\n\nÚltima Imagen Edge\n\n\n  layer5/meshery:edge-latest\n  layer5/meshery:edge-289d02 (sha)\n\n\nImage Edge Anterior\n\n\n  layer5/meshery:edge-324vdgb (sha)\n\n\nCambio entre canales de liberación de Meshery\n\nLos usuarios están autorizados a cambiar entre los canales de lanzamiento cuando quieran.\n\nCambio de canales de liberación mediante mesheryctl\n\nLos usuarios pueden usar mesheryctl para cambiar entre canales de lanzamiento, p. Ej. canal del sistema mesheryctl [stable|edge]. Alternativamente, los usuarios pueden cambiar manualmente entre canales actualizando las etiquetas de imagen de la ventana acoplable en sus archivos de manifiesto meshery.yaml/Kubernetes. Este comando genera un meshery.yml (un archivo docker-compose) con etiquetas de publicación apropiadas para el canal para las diferentes imágenes del contenedor Docker.\n\nVisualización del canal de Lanzamiento y la Información de la Versión en la Interfaz de Usuario de Meshery\n\nA los usuarios se les muestra la suscripción al canal de lanzamiento de su implementación de Meshery en una nueva configuración en el área de Preferencias de la interfaz de usuario de Meshery, de modo que las personas pueden usar la interfaz de usuario de manera alternativa para cambiar entre canales si lo desean. Los números de versión de los adaptadores Meshery también se muestran en la interfaz de usuario.\n\nCadencia de Liberación\n\nLos lanzamientos menores del proyecto Meshery se lanzan con frecuencia (una media mensual) y los lanzamientos de parches se realizan bajo demanda entre esos momentos. El proyecto aún no tiene lanzamientos a largo plazo que se mantengan con correcciones de errores. Las correcciones de errores y los parches se publicarán según sea necesario en la última versión de lanzamiento.\n\nSoporte de lanzamiento\n\nEl soporte general de la comunidad y el soporte comercial de Layer5 están disponibles. Por separado, terceros y socios pueden ofrecer soluciones de soporte a más largo plazo.\n\nPre v1.0\n\nEl proyecto se centra en la funcionalidad, la calidad y la adopción, al tiempo que conserva la flexibilidad para los cambios en la arquitectura.\n\nPost v1.0\n\nUna vez que se ha realizado una versión 1.0, aproximadamente una vez al mes, los responsables del proyecto tomarán una de estas compilaciones diarias y la ejecutarán a través de una serie de pruebas de calificación adicionales y etiquetarán la compilación como una versión estable. Aproximadamente una vez al trimestre, los encargados del mantenimiento del proyecto toman una de estas versiones estables, realizan un montón de pruebas más y etiquetan la compilación como una versión de soporte a largo plazo (LTS). Finalmente, si encontramos algún problema con una versión de LTS, publicamos parches.\n\nLos diferentes tipos (Daily, Stable, LTS) representan diferentes niveles de calidad de producto y diferentes niveles de soporte del equipo de Meshery. En este contexto, soporte significa que produciremos versiones de parches para problemas críticos y ofreceremos asistencia técnica."
					}




					,

					"project-compatibility-matrix-meshery-cilium-past-results": {
						"id": "project-compatibility-matrix-meshery-cilium-past-results",
						"title": "Meshery-Cilium Past Results",
						"categories": "",
						"url": " /project/compatibility-matrix/meshery-cilium-past-results",
						"content": ""
					}




					,

					"project-community": {
						"id": "project-community",
						"title": "Meshery Community",
						"categories": "",
						"url": " /project/community",
						"content": "Meshery is a CNCF prpoject maintained by engineers from Layer5, VMware, Red Hat, Rackspace, Citrix, Layer5, Instabase, Microsoft, OpenGov, Computas AS, Rill Data, Quantex, Lumina Networks, and HashiCorp. Meshery is an an open source project that adheres to the CNCF’s Code of Conduct. Meshery advance the state of the art surrounding service meshes and enable adopters of Cloud Native technologies and techniques to do so with confidence. Our shared commitment to the open source spirit pushes Meshery forward.\n\nCommunity First\n\nMeshery is one of a number of open source projects orginated by the Layer5 community, which represents the largest collection of service mesh projects and their maintainers in the world.\n\nThe Meshery project is community-built and welcomes collaboration! \n Fork here on Github\n\n\n  Join weekly community meeting Fridays from 10am to 11am Central.\n    \n      Watch community meeting recordings and subscribe to the community calendar.\n    \n  \n  Fill-in a community member form to gain access to community resources.\n\n\nGetting involved in the Community\n\nWant to get involved with project, read through the Newcomers Guide, which provides details on how to engage. Seek out other community members, who will make sure you are not left out. We always have a role for everyone whether to be a code-writer, a community manager, user, advocate, or just to listen in. Layer5 community is always open and warmly welcomes you. Check out our community welcome guide for more details.\nIf this is your first time making open source contribution, you are in the right place! Check out our first timers’ welcome guide.\n\nPlease see our contributing guide for more details.\n\nPresentations\n\n\n\nDelivered at Service Mesh Day 2019\n\nPast presentations of Meshery:\n\n\n  O’Reilly OSCON 2020\n  O’Reilly Infrastructure &amp; Ops 2020\n  InnoTech Dallas 2020\n  KubeCon EU 2020\n  DockerCon 2020 (deck, video)\n  Open Source 101 at Home\n  Docker Captains Roundtable 2020\n  Cloud Native Austin 2020\n  NSMCon 2019 talk (video, deck)\n  Service Mesh Day 2019\n  DockerCon 2019 Open Source Summit\n  KubeCon EU 2019 (video, deck)\n  KubeCon EU 2019 Istio Founders Meetup\n  Cloud Native Rejekts EU 2019\n  Container World 2019\n  Solving the Service Mesh Adopter’s Dilemma (deck, event,video)\n\n\nTalking about Meshery?\n\nGiving a talk or hosting a meetup about Meshery? Leverage existing slides or request swag to support your talk.\n\n\n    Share your event\n    Access slides and resources"
					}




					,

					"project-compatibility-matrix": {
						"id": "project-compatibility-matrix",
						"title": "Compatibility Matrix",
						"categories": "",
						"url": " /project/compatibility-matrix",
						"content": "Compatibility Matrix\n\nCompatibility of Meshery with other integrated systems.\n\n\n  Kubernetes Version\n  meshery-istio\n  meshery-linkerd\n  meshery-kuma\n  meshery-osm\n  meshery-nginx-sm\n  meshery-traefik-mesh\n  meshery-cilium\n\n\n\n\n\n\n\n\n\n\n\nv1.20.1\n\n\n\n95.52\n\n\n30.56\n\n93.88\n\n96.97%\n\n100.0% \n\n100.0%\n\n50.0%\n\n\n\n\n\n\n\n\n\n\n\nv1.21.5\n\n\n\n72.41\n\n\n100.0\n\n100.0\n\n60.0%\n\n66.67% \n\n71.43%\n\n33.33%\n\n\n\n\n\n\n\n\n\n\n\nv1.20.11\n\n\n\n85.29\n\n\n100.0\n\n100.0\n\n20.0%\n\n100.0% \n\n88.89%\n\n100.0%\n\n\n\n\n\n\n\n\n\n\n\nv1.22.2\n\n\n\n82.93\n\n\n100.0\n\n100.0\n\n28.57%\n\n100.0% \n\n85.71%\n\n0.0%\n\n\n\n\n\n\n\n\n\n\n\nv1.23.9\n\n\n\n33.33\n\n\n0.0\n\n100.0\n\n0.0%\n\n0.0% \n\n0.0%\n\n0.0%\n\n\n\n\n\n\n\n\n\n\n\nv1.21.0\n\n\n\n0.0\n\n\n0.0\n\n0.0\n\n0.0%\n\n0.0% \n\n0.0%\n\n0.0%\n\n\n\n\n\n\n\nIntegration Tests\n\nAs a key aspect of Meshery, its integrations with other systems are routinely tested. Unit, integration testing occurs before and after every pull request (before code is to be merged into the project and after code is merged into the project). Regression tests are run nightly.\n\n\n    \n    \n    Edge Channel\n    \n    \n    \n    Stable Channel\n    \n\n\n\n  Status\n  Meshery Component\n  Meshery Component Version\n  Meshery Server Version\n  Service Mesh\n  Service Mesh Version\n\n    \n      \n      \n        \n      \n    \n      \n      \n        \n          \n          \n            2022-08-19 01:59:05 UTC Fri\n            meshery-istio\n            \n              edge\n            \n            \n              v0.6.0-rc.6fd\n            \n            &nbsp;istio\n            1.14.3\n          \n          \n            \n              Platform:\n                minikube  v1.22.2\n            \n            \n              Test results:\n              \n              \n                  pod/istiod\n              \n                  pod/details\n              \n                  pod/productpage\n              \n                  pod/ratings\n              \n                  pod/reviews-v1\n              \n                  pod/reviews-v2\n              \n                  pod/reviews-v3\n              \n              \n            \n            \n              To see past results click here \n            \n          \n\n        \n\n        \n      \n    \n      \n      \n        \n          \n          \n            2022-08-22 17:52:19 UTC Mon\n            meshery-kuma\n            \n              edge\n            \n            \n              v0.6.0-rc.6fd\n            \n            &nbsp;Kuma\n            1.7.1\n          \n          \n            \n              Platform:\n                minikube  v1.23.9\n            \n            \n              Test results:\n              \n              \n                  pod/kuma-control-plane\n              \n              \n            \n            \n              To see past results click here \n            \n          \n\n        \n\n        \n      \n    \n      \n      \n        \n          \n          \n            Wed Feb 23 15:10:55 UTC 2022\n            meshery-linkerd\n            \n              edge\n            \n            \n              v0.6.0-rc-5a\n            \n            &nbsp;Linkerd\n            stable-2.11.1\n          \n          \n            \n              Platform:\n                minikube  v1.20.1\n            \n            \n              Test results:\n              \n              \n                  linkerd-destination\n              \n                  linkerd-identity\n              \n                  linkerd-proxy-injector\n              \n              \n            \n            \n              To see past results click here \n            \n          \n\n        \n\n        \n      \n    \n      \n      \n        \n          \n          \n            2022-08-05 20:35:41 UTC Fri\n            meshery-nginx-sm\n            \n              edge\n            \n            \n              v0.6.0-rc.6f\n            \n            &nbsp;nginx\n            v1.5.0\n          \n          \n            \n              Platform:\n                minikube  v1.22.2\n            \n            \n              Test results:\n              \n              \n                  pod/nginx-mesh-api\n              \n                  pod/nginx-mesh-metrics\n              \n              \n            \n            \n              To see past results click here \n            \n          \n\n        \n\n        \n      \n    \n      \n      \n        \n          \n          \n            2022-08-05 19:44:05 UTC Fri\n            meshery-osm\n            \n              edge\n            \n            \n              v0.6.0-rc.6f\n            \n            &nbsp;OSM\n            v1.2.0\n          \n          \n            \n              Platform:\n                minikube  v1.20.11\n            \n            \n              Test results:\n              \n              \n                  pod/osm-bootstrap\n              \n                  pod/osm-controller\n              \n                  pod/osm-injector\n              \n              \n            \n            \n              To see past results click here \n            \n          \n\n        \n\n        \n      \n    \n      \n      \n        \n          \n          \n            2022-08-19 11:19:36 UTC Fri\n            meshery-traefik-mesh\n            \n              edge\n            \n            \n              v0.6.0-rc.6fd\n            \n            &nbsp;traefik-mesh\n            \n          \n          \n            \n              Platform:\n                minikube  v1.21.5\n            \n            \n              Test results:\n              \n              \n                  pod/traefik-mesh-controller\n              \n                  pod/traefik-mesh-proxy\n              \n                  pod/grafana-core\n              \n                  pod/jaeger\n              \n                  pod/prometheus-core\n              \n              \n            \n            \n              To see past results click here \n            \n          \n\n        \n\n        \n      \n    \n\n    \n\n    \n      \n      \n        \n          \n          \n            2022-05-10 12:32:04 UTC Tue\n            meshery-cilium\n            v0.5.9\n            v0.6.0-rc.5q\n            &nbsp;Cilium\n            v1.11.4\n          \n          \n            \n              Platform:\n                minikube  v1.20.1\n            \n            \n              Test results:\n              \n              \n                  cilium\n              \n                  cilium-operator\n              \n              \n            \n            \n              To see past results click here \n            \n          \n        \n      \n    \n      \n      \n        \n          \n          \n            2022-08-05 18:08:25 UTC Fri\n            meshery-istio\n            v0.5.41\n            v0.6.0-rc.6f\n            &nbsp;istio\n            1.14.3\n          \n          \n            \n              Platform:\n                minikube  v1.22.2\n            \n            \n              Test results:\n              \n              \n                  pod/istiod\n              \n                  pod/istio-egressgateway\n              \n                  pod/istio-ingressgateway\n              \n                  pod/grafana-addon\n              \n                  pod/prometheus-addon\n              \n              \n            \n            \n              To see past results click here \n            \n          \n        \n      \n    \n      \n      \n        \n          \n          \n            2022-08-05 19:49:13 UTC Fri\n            meshery-kuma\n            v0.5.25\n            v0.6.0-rc.6f\n            &nbsp;Kuma\n            1.7.1\n          \n          \n            \n              Platform:\n                minikube  v1.20.11\n            \n            \n              Test results:\n              \n              \n                  pod/kuma-control-plane\n              \n              \n            \n            \n              To see past results click here \n            \n          \n        \n      \n    \n      \n      \n        \n          \n          \n            2022-08-05 19:55:20 UTC Fri\n            meshery-linkerd\n            v0.5.34\n            v0.6.0-rc.6f\n            &nbsp;Linkerd\n            stable-2.11.4\n          \n          \n            \n              Platform:\n                minikube  v1.21.5\n            \n            \n              Test results:\n              \n              \n                  pod/linkerd-destination\n              \n                  pod/linkerd-identity\n              \n                  pod/linkerd-proxy-injector\n              \n              \n            \n            \n              To see past results click here \n            \n          \n        \n      \n    \n      \n      \n        \n          \n          \n            2022-08-05 20:34:32 UTC Fri\n            meshery-nginx-sm\n            v0.5.5\n            v0.6.0-rc.6f\n            &nbsp;nginx\n            v1.5.0\n          \n          \n            \n              Platform:\n                minikube  v1.22.2\n            \n            \n              Test results:\n              \n              \n                  pod/nginx-mesh-api\n              \n                  pod/nginx-mesh-metrics\n              \n              \n            \n            \n              To see past results click here \n            \n          \n        \n      \n    \n      \n      \n        \n          \n          \n            2022-08-05 19:36:56 UTC Fri\n            meshery-osm\n            v0.5.24\n            v0.6.0-rc.6f\n            &nbsp;OSM\n            v1.2.0\n          \n          \n            \n              Platform:\n                minikube  v1.22.2\n            \n            \n              Test results:\n              \n              \n                  pod/osm-bootstrap\n              \n                  pod/osm-controller\n              \n                  pod/osm-injector\n              \n              \n            \n            \n              To see past results click here \n            \n          \n        \n      \n    \n      \n      \n        \n          \n          \n            2022-08-05 18:33:25 UTC Fri\n            meshery-traefik-mesh\n            v0.5.24\n            v0.6.0-rc.6f\n            &nbsp;traefik-mesh\n            \n          \n          \n            \n              Platform:\n                minikube  v1.20.11\n            \n            \n              Test results:\n              \n              \n                  pod/traefik-mesh-controller\n              \n                  pod/traefik-mesh-proxy\n              \n                  pod/grafana-core\n              \n                  pod/jaeger\n              \n                  pod/prometheus-core\n              \n              \n            \n            \n              To see past results click here"
					}




					,

					"guides-configuration-management": {
						"id": "guides-configuration-management",
						"title": "Configuring your Deployment with Patterns, Filters and Applications",
						"categories": "",
						"url": " /guides/configuration-management",
						"content": "Meshery now comes with built in support for service mesh patterns, WASM filters and application workloads. Users can use Meshery to manage these artifacts and use them with their service mesh deployment.\n\nService Mesh Patterns\n\nUsers can use Meshery UI or mesheryctl to manage service mesh patterns.\n\nPattern Management Through Meshery UI\n\nMeshery also comes with seed patterns when users start Meshery for the first time. These patterns cover common use cases and examples for you as you explore Meshery.\n\n\n\nUsers can also import these patterns to their remote provider from this sample repository.\n\n\n\nOnce these patterns are imported, you can then edit these patterns or use the pattern configurator to configure them according to your requirements.\n\n\n\n\n\nPattern Management Through Meshery CLI\n\nYou can also manage service mesh patterns through Meshery’s CLI, mesheryctl.\n\nThe mesheryctl pattern subcommand lets you import and apply patterns to your cluster.\n\nFor example, if you have your pattern written in a file say, istio-bookinfo.yaml which deploys Istio service mesh and onboards the BookInfo app on Istio, you can use mesheryctl to apply this pattern as shown below:\n\nmesheryctl pattern apply -f istio-bookinfo.yaml\n\n\nIf you already have a pattern imported into Meshery, you can apply the pattern by name.\n\nmesheryctl pattern apply BookInfoApp\n\n\nThis will apply the pattern BookInfoApp, which has already been imported into Meshery.\n\nSee mesheryctl Command Reference for more details on the pattern subcommand.\n\nWASM Filters\n\nMeshery can be used for managing WebAssembly Filters through the UI or the CLI.\n\nFilter Management Through Meshery UI\n\nLike patterns, Meshery also comes with some sample WebAssembly Filters for you to experiment.\n\n\n\nYou can also import these filters manually to your provider from the wasm-filters repo.\n\nMeshery’s sample application ImageHub will let you test out configuring these filters out-of-the-box.\n\nYou can onboard ImageHub to an installed service mesh as shown below.\n\n\n\nFilter Management Through Meshery CLI\n\nYou can also manage WASM filters through Meshery’s CLI, mesheryctl.\n\nThe mesheryctl filter subcommand lets you import and configure filters in your service meshes.\n\nFor example,\n\nmesheryctl filter apply -f metrics_collector_bg.wasm\n\n\nIf you already have a filter imported into Meshery, you can configure the filter by name.\n\nmesheryctl filter apply metrics_collector_bg\n\n\nApplications\n\nMeshery can also manage your Kubernetes applications and can onboard/offboard them of deployed service meshes.\n\nManaging Applications Through Meshery UI\n\nMeshery has a set of sample applications which you can use to quickly test out your deployment.\n\n\n\nYou can also bring in your own applications by uploading it from filesystem or importing it from a URL.\n\n\n\nThe application files can be described in Kubernetes manifest format or pattern format.\n\nYou can also run the same application on different service meshes and compare the performance. See Performance Management with Meshery for more details.\n\nManaging Applications Through Meshery CLI\n\nThe mesheryctl app subcommand lets you manage your custom application workloads with Meshery.\n\nYou can onboard/offboard applications from your mesh as shown in the example below.\n\nmesheryctl app onboard imagehub.yaml\n\n\nmesheryctl app offboard imagehub.yaml"
					}




					,

					"guides-mesheryctl-configuring-autocompletion-for-mesheryctl": {
						"id": "guides-mesheryctl-configuring-autocompletion-for-mesheryctl",
						"title": "Configuring Autocompletion for `mesheryctl`",
						"categories": "",
						"url": " /guides/mesheryctl/configuring-autocompletion-for-mesheryctl",
						"content": "If you would like to have mesheryctl commands automatically completed for use as you use mesheryctl, then use the following instructions to configure automatic completion within your environment.\n\nAutocompletion for Bash\n\nbash &lt;= 3.2\n\n\n \n source /dev/stdin &lt;&lt;&lt; \"$(mesheryctl completion bash)\"\n \n \n\nbash &gt;= 4.0\n\n\n \n source &lt;(mesheryctl completion bash)\n \n \n\nbash &lt;= 3.2 on MacOS\n\n\n \n brew install bash-completion # ensure you have bash-completion 1.3+\n mesheryctl completion bash &gt; $(brew --prefix)/etc/bash_completion.d/mesheryctl\n \n \n\nbash &gt;= 4.0 on MacOS\n\n\n \n brew install bash-completion@2\n mesheryctl completion bash &gt; $(brew --prefix)/etc/bash_completion.d/mesheryctl\n \n \n\nAutocompletion for zsh\n\n\n \n source &lt;(mesheryctl completion zsh)\n \n \n\n\nIf shell completion is not already enabled in your environment you will need to enable it. You can execute the following once:\n\n\n \n ~/.zshrc &gt; echo \"autoload -U compinit; compinit\"\n \n \n\nNote : You might need to restart your shell for this setup to take effect.\n\nzsh on MacOS and Oh My zsh\n\n\n \nCOMPLETION_DIR=$(echo $fpath | grep -o '[^ ]*completions' | grep -v cache) &amp;&amp; mkdir -p $COMPLETION_DIR &amp;&amp; mesheryctl completion zsh &gt; \"${COMPLETION_DIR}/_mesheryctl\"\n \n \n\nAutocompletion for fish\n\n\n \n mesheryctl completion fish | source\n \n \n\n\nTo load fish shell completions for each session, execute once:\n\n\n \n mesheryctl completion fish &gt; ~/.config/fish/completions/mesheryctl.fish\n \n \n\nSuggested Reading\n\nFor an exhaustive list of mesheryctl commands and syntax:\n\n\n  See mesheryctl Command Reference.\n\n\nGuides to using Meshery’s various features and components.\n\n\n  \n  \n\nUpgrading mesheryctl"
					}




					,

					"project-contributing-contributing-adapters": {
						"id": "project-contributing-contributing-adapters",
						"title": "Contributing to Meshery Adapters",
						"categories": "",
						"url": " /project/contributing/contributing-adapters",
						"content": "See Extensibility: Service Mesh Adapters\n\nMeshery Adapters are an Extension Point in Meshery’s architecture. Their design and the process of creating a new adapter or contributing to an existing adapter is documented in Extensibility: Service Mesh Adapters.\n\nSuggested Reading"
					}




					,

					"project-contributing-contributing-cli": {
						"id": "project-contributing-contributing-cli",
						"title": "Contributing to Meshery CLI",
						"categories": "",
						"url": " /project/contributing/contributing-cli",
						"content": "mesheryctl is written in Golang or the Go Programming Language. For development use Go version 1.17+.\n\n\nMeshery CLI Reference Documents\nMeshery Command Tracker: Status of mesheryctl command implementation and platform compatibility.\n    Meshery CLI Commands and Documentation: Detailed documentation of the `mesheryctl` commands.\n\tmesheryctl open issues and pull requests: Matching the \"component/mesheryctl\" label.\n\n\nMechanics of Contributing\n\nBuilding mesheryctl\n\nThe /mesheryctl folder contains the complete code for mesheryctl. Fork and clone the Meshery repo. cd mesheryctl to change directory mesheryctl’s source.\n\nAfter making changes, run make in the mesheryctl folder to build the binary. You can then use the binary by, say, ./mesheryctl system start.\n\nFramework\n\nmesheryctl uses the Cobra framework. A good first-step towards contributing to mesheryctl would be to familiarise yourself with the Cobra concepts. For manipulating config files, mesheryctl uses Viper.\n\nModel and Configuration Data\n\nA central struct is maintained in the mesheryctl/internal/cli/root/config/config.go file. These are updated and should be used for getting the Meshery configuration.\n\nUpdates to this central struct is made through updates in Context with setter functions. The changes made in this central struct are reflected back in the Meshery configuration file (.meshery/config.yaml).\n\nLogging\n\nFor logs, mesheryctl uses Logrus. Going through the docs and understanding the different log-levels will help a lot.\n\nLinting\n\nmesheryctl uses golangci-lint. See the .github/workflow/ci.yaml for syntax used during Meshery’s build process.\n\nUnit Tests\n\nUnit test code coverage reports can be found in the CodeCov logs.  Note: GitHub login may be required for access.\n\nDocumentation\nThe documentation pages for mesheryctl reference are made with the help of the Cobra Golang framework and use of GitHub Actions. Refer to Contributing to mesheryctl documentation for details.\n\nMeshery CLI Style Guide\n\nThese guidelines are a collection of principles and conventions that need to be followed while designing mesheryctl commands. mesheryctl might be the interface that the users first have with Meshery. As such, mesheryctl needs to provide a great UX.\n\nThe following principles should be taken in mind while designing mesheryctl commands-\n\nDesign Principles\n\n1. Consistency is quality.\n\n\n  Consistency of interaction drives a quality user experience. Whether that experience is delightful or painful is a related, but separate consideration. Meshery’s behavior of user interactions should be consistent even when their user experience is poor.\n\n\n2. Intuitive user experiences feel natural to users.\n\n\n  When being designed, each of Meshery’s user experiences should be examined first from the user’s perspective. Design user experiences that are familiar.\n\n\n3. Design for brevity.\n\n\n  Avoid long commands with chained series of flags.\n\n\n4. Design with automated testing in mind.\n\n\n  Provide possibility to specify output format as json (-o json) for easy inspection of command response.\n\n\nPart of delivering a great user experience is providing intuitive interfaces. In the case of mesheryctl takes inspiration from and delivers similar user experiences as popular CLIs do in this ecosystem, like kubectl and docker. Here is relevant kubectl information to reference - Kubectl SIG CLI Community Meeting Minutes, contributing to kubectl, code.\n\nCommand structure and command behavior should be designed in such a way that they are intuitive. Users should ideally be able to understand what a command is used for without having to extensively go through the documentation. For example, mesheryctl pattern apply -f &lt;pattern name&gt; requires no further clarification as it is evident that the command will apply the pattern specified.\n\nConsistency is key when designing intuitive interfaces. Although mesheryctl perf run -f &lt;performance profile name&gt; may sound more intuitive, users who are experienced in using the CLI will prefer the consistant verb apply over run. This will also ensure a consistent command language making memorizing easier.\n\nFlags\n\nConsistency should also be enforced when chaining commands and using flags. For example, if mesheryctl pattern has a list and view command and has an -all and --output flag, then, similar commands like mesheryctl perf should also support the same commands and flags and provide a consistent user experience.\n\nRational defaults overriden with flags\n\nDefault behaviour should be optimised for what users will need to do most of the time.\n\nThese assumed defaults should be easily overriden by the user with flags.\n\nFor example, mesheryctl system context create &lt;context name&gt; assumes a default platform for the created context. But this can be easily overriden with the --platform flag.\n\nUser Experience: GUI vs CLI\n\nIdeally, all functionaly provided in Meshery UI should be available to users via CLI (in mesherctl). Meshery strives for parity of functionality between it’s two clients. For example, viewing a performance profile in the GUI and with mesheryctl system perf view &lt;profile name&gt; in the CLI should show the same data.\n\nCommand line interfaces offer less context to the user, which makes them inherently less intuitive compared to graphical user interfaces. Both of these user interfaces, however, are the same in that they are both clients of Meshery Server. Both clients are a user experience and as such, to be attended to in this way. The following considerations should be accounted for when designing mesheryctl experiences:\n\n\n  Provide only relevant output. Use “debug” logs that can be accessed with --verbose flag wherever needed.\n  Add headers to output to give context to the user.\n  As mentioned above, similar commands should behave similarly.\n  Confirm steps for risky commands. For example, use the AskForConfirmation function which will prompt the user to type in “yes” or “no” to continue.\n  Anticipate user actions. If the user creates a new context with mesheryctl system context create then the next action might be mesheryctl system start to start Meshery ot mesheryctl system context switch to switch context names.\n  Anticipate user errors. For example, if the user types in mesheryctl system satrt, using the inbuilt features with the cobra library, we can correct it to start and alert the user.\n\n\nDesigning Commands\n\nIf you are working on a new command or adding a new feature on an existing command, it is recommended to setup a design spec so that other contributors can weigh in on the design before you start to code. Broader features should have a design spec made in Google Doc using this template. For small changes, communicating over the issue tracker or the discussions will be helpful.\n\nWhen designing for the command line interface, ask and consider the following questions.\n\nWhat the command does\n\n\n  What makes sense to do from a terminal? What doesn’t?\n  What might people want to automate?\n  What is the default behavior? What flags might you need to change that behavior?\n  What might people try and fail to do and how can you anticipate that?\n\n\nWhat the command is called\n\n\n  What should be the command language? (mesheryctl &lt;command&gt; &lt;subcommand&gt; [args] [flags] [value])\n  What should be a command vs a flag?\n  How can you align the language of the new command with the existing commands?\n\n\nWhat the command outputs\n\n\n  How can you make the GUI and the CLI outputs similar?\n  What should be outputted normally and what falls into debug logs?\n\n\nHow you explain your command\n\nYou will need to provide a short and long description of the command for the help pages and also for the Meshery Documentation.\n\nWriting unit tests and integration tests for mesheryctl\n\nUnit tests and integration tests are essential to make each mesheryctl release robust and fault tolerant.\n\nBelow you will find guidelines to write unit tests and integration tests and examples of how they are implemented in mesheryctl.\n\nUnit tests: Individual components are tested.\n\nIntegration tests: Individual components are combined and tested as a group.\n\nContributing to mesheryctl documentation\n\nThe Meshery CLI Reference is autogenerated based on docs sections in each of  mesheryctl’s Golang files. Meshery CLI Reference pages are updated each time a change to its respective mesheryctl Golang file is merged into the project’s master branch. This approach to documentation facilitates a single source of truth for CLI syntax and command behavior, which results in higher quality reference and a reduction in the toil involved in keeping documentation up-to-date. To contribute to the Meshery CLI Reference, follow these steps:\n\n\n  Go to the required command file in which the documentation has to be created/updated (mainly under /mesheryctl/internal/cli/root/…)\n  Then, edit the Cobra macro variables present in the each file. An example is given below for reference.\n     var startCmd = &amp;cobra.Command{\n Use:   \"start\",\n Short: \"Start Meshery\",\n Long:  'Start Meshery and each of its service mesh components.',\n Args:  cobra.NoArgs,\n Example: \n // Start meshery\n mesheryctl system start\n\n // To create a new context for in-cluster Kubernetes deployments and set the new context as your current-context\n mesheryctl system context create k8s -p kubernetes -s\n ...\n\n    \n    The variables present in above sample will be used in creating the doc pages for the specific command\n  \n\n\nAlso, if the screenshot is present in the command, the respective field has to be added at the bottom of the Examples field in the command file. The image file has to be included in the docs/assets folder in PNG format. The screenshot field is given for reference below\n\n\tExample: \n// apply a pattern file\nmesheryctl pattern apply -f [file | URL]\n\n// deploy a saved pattern\nmesheryctl pattern apply [pattern-name]\n\n! Refer below image link for usage\n* Usage of mesheryctl pattern apply\n# ![pattern-apply-usage](/assets/img/mesheryctl/patternApply.png)\n\n\nCertain symbols are used in the screenshot section, each having it’s own function\n\n  ! - Used to denote as comment and the line will be ignored by the script\n  * - Caption for the screenshot\n  # - Markdown code for adding the screenshot in the doc page\n\n\nNOTE: It is advised not to modify the changes in docs folder, rather should be done in mesheryctl folder as the changes will get overwritten by the script.\n\nReferences\n\n\n  jarcoal/httpmock\n  Unit testing CLIs in Go\n  How to test CLI commands with Go and Cobra\n  Contributing to Meshery API Swagger Documentation\n\n\nKey principles\n\nThe following key principles should be taken to mind when writing tests:\n\n\n  Golang’s standard library will be used to write tests.\n  The tests should cover all possible use cases and not just the happy paths.\n  Integration tests should contain the keyword “Integration” in the title and should be marked to be skipped under unit testing. (See below)\n  Fixtures are mock/raw data to use(for e.g. API response to mock an HTTP call).\n  Testdata is the expected response of mesheryctl commands or functions.\n  The mock data and the expected responses are stored in the golden files.\n  Table formatted tests are performed on functions and commands.\n  mesheryctl/pkg/utils/fixtures/validate.version.github.golden file needs to be updated regularly.\n  The version in utils.NewTestHelper() should be updated regularly.\n  Golden files should be updated synchronously as API responses, mesheryctl outputs are updated.\n\n\nMarking integration tests under unit tests\n\nSince there is no straightforward way to mark unit tests and integration tests differently. Here we use the --short flag while running tests to differentiate between unit tests and integration tests.\n\n\n\nfunc TestPreflightCmdIntegration(t *testing.T) {\n   // skipping this integration test with --short flag\n   if testing.Short() {\n       t.Skip(\"skipping integration test\")\n   }\n}\n\n\n\nIn the above code sample, the test is marked with “Integration” in the title and if a --short flag is passed with the command, this test is skipped.\n\nRunning tests in GitHub workflows\n\nUnit tests:\n\n\ngo test --short ./... -race -coverprofile=coverage.txt -covermode=atomic\n\nIntegration tests:\n\n go test -run Integration ./... -race -coverprofile=coverage.txt -covermode=atomic \n\nTo update golden files with the test output use the --update flag:\n\n var update = flag.Bool(\"update\", false, \"update golden files\") \n\nTo grab console logs - fmt.Println() (check mesheryctl/internal/cli/root/perf/view_test.go )\n\nTo grab Logrus logs - logrus.Info() (check mesheryctl/internal/cli/root/perf/apply_test.go )\n\nSuggested Reading"
					}




					,

					"project-contributing-contributing-cypress": {
						"id": "project-contributing-contributing-cypress",
						"title": "Contributing to Meshery's End-to-End Tests using Cypress",
						"categories": "",
						"url": " /project/contributing/contributing-cypress",
						"content": "Introduction\n\nTo automate functional integration and end-to-end testing through Meshery UI, Cypress is leveraged as it allows for both UI Integration &amp; End-to-end test scripting with javascript through its modern features and supported test types.\n\nUnderstanding the test framework directories\n\nClone the meshery/meshery repo and navigate to the /ui/cypress/ directory.\n\n.\n├── actionHelpers\n│   └── service-mesh-configuration-management.js\n├── fixtures\n│   ├── clusterVersion.json\n│   ├── configuration\n│   ├── example.json\n│   ├── getMeshAdapters.json\n│   ├── postMeshManage.json\n│   ├── stats.json\n│   └── sync.json\n├── integration\n│   ├── e2e\n│   │   ├── lifecyclecheck_spec.js\n│   │   ├── service_mesh_configuration_management_spec.js\n│   │   ├── settings_spec.js\n│   │   └── userpreference_spec.js\n│   ├── integration\n│   │   ├── configuration_filters_spec.js\n│   │   ├── discoverCluster_spec.js\n│   │   ├── indexui_spec.js\n│   │   ├── settings_spec.js\n│   │   └── userpreference_spec.js\n│   └── sample_spec.js\n├── plugins\n│   └── index.js\n├── support\n│   ├── commands.js\n│   └── index.js\n\n\n\nLet’s walk-through each of these directories and comprehend their purpose.\n\nDirectory: ./actionHelpers/ (code)\n\nHelpers to provide common UI or API level actions across our different cypress integration and end-to-end tests.\n\nDirectory: ./fixtures/ (code)\n\nOur Fixture Files which are used by our tests as:\n\n\n  external pieces of static data to Stub response data in integration tests (i.e. /integration/integration/configuration_filters_spec.js)\n  or reuse data as test input in end-to-end tests (i.e. /integration/e2e/service_mesh_configuration_management_spec.js).\n\n\nDirectory: ./integration/integration/ (code)\n\nIntegration tests for Meshery UI that stub server requests to:\n\n\n  Prevent state mutation across tests.\n  Build the way we want the data to be structured without contract of server being available.\n  Test critical edge cases without server, etc.\n\n\nFollow this guidance regarding when it’s a good idea to stub the server versus allowing the frontend to reach out the actual server and its underlying resources.\n\nDirectory: ./integration/e2e/ (code)\n\nEnd-to-end tests for both Meshery UI and Meshery Server where its usually necessary to seed data, ocassionally bypass our UI, use actual server responses and define cypress routes to wait and assert on requests and/or their responses.\n\nDirectory: ./plugins/ (code)\n\nDefine Cypress plugins to leverage as “Seams” for Meshery’s workflows to run the project’s own custom code to execute during particular stages of Cypress lifecycle.\n\nDirectory: ./support/ (code)\n\nThis is where Meshery’s Cypress supportFile resides (./support/index.js). It’s processed and loaded automatically before tests run and it imports our ./support/commands.js file which allows us to sparingly define our Cypress Custom Commands to reuse functions needed across most or all test suites.\n\nHow to manually run end-to-end tests\n\nSteps to start Cypress depend on whether your Meshery installation is built from source code or from a deployed release. The following steps try to simplify the former which should be the most frequently needed scenario:\n\nRun Meshery UI dev server and Cypress\n\nIf its the first time you’re opening cypress:\ncd ui &amp;&amp; npm i &amp;&amp; npm run cy:dev:open\n\nElse, just run:\nnpm run cy:dev:open\n\n\n\nNote the difference between local dependencies for Integration vs End-to-End Tests\n\n\nkeep in mind that if running integration tests (tests in ./integration/integration/ folder) the server doesn’t need to be running but for full blown end-to-end tests (tests in ./integration/e2e/ folder) its recommended to run make server OR make sure a Meshery user build (see Getting Started) is installed and running locally before choosing one of those tests.\n\nReferences\n\n\n  Testing Your App\n  Writing and Organizing Tests\n  Best Practices\n  Learn Cypress"
					}




					,

					"project-contributing-contributing-docs": {
						"id": "project-contributing-contributing-docs",
						"title": "Contributing to Meshery Docs",
						"categories": "",
						"url": " /project/contributing/contributing-docs",
						"content": "Before contributing, please review the Documentation Contribution Flow. In the following steps you will set up your development environment, fork and clone the repository, run the site locally, and finally commit, sign-off, and push any changes made for review.\n\n\nMeshery Documentation Design Specification\nSee the Meshery Documentation Design Specification which serves to provide an overview of the tooling and approach used to create Meshery’s documentation and it information architecture.\n\n\nDocumentation Framework\n\nMeshery documentation is made of these components:\n\n\n  Framework - Jekyll\n  Theme - https://github.com/vsoch/docsy-jekyll\n  Repo - https://github.com/layer5io/meshery/tree/master/docs\n  DNS - https://meshery.layer5.io/docs\n  AWS API GW - an instance is configured to redirect from docs.meshery.io to meshery.layer5.io, because of the repo location of where the docs currently reside.\n\n\nSet up your development environment\n\n\nJekyll\nThe Meshery Docs site is built using Jekyll - a simple static site generator. Jekyll can be installed on different platforms like Windows, Linux, and MacOS by the following steps \n\n\nFor Windows\n\nNote: Windows users can run Jekyll by following the Windows Installation Guide and also installing Ruby Version Manager RVM. RVM is a command-line tool which allows you to work with multiple Ruby environments on your local machine. Alternatively, if you’re running Windows 10 version 1903 Build 18362 or higher, you can upgrade to Windows Subsystem for Linux WSL and run Jekyll in Linux instead.\n\n\n  Fire up your WSL VM and install the ruby version manager (RVM):\n\n\n  sudo apt update\n  sudo apt install curl g++ gnupg gcc autoconf automake bison build-essential libc6-dev \\\n    \tlibffi-dev libgdbm-dev libncurses5-dev libsqlite3-dev libtool \\\n    \tlibyaml-dev make pkg-config sqlite3 zlib1g-dev libgmp-dev \\\n    \tlibreadline-dev libssl-dev\n  sudo gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3\n  curl -sSL https://get.rvm.io | sudo bash -s stable\n  sudo usermod -a -G rvm `whoami`\n\n\nIf gpg --keyserver gives an error, you can use:\n\n  sudo gpg --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3\n\n\nor\n\n  sudo gpg2 --keyserver hkp://pool.sks-keyservers.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB\n\n\nRestart your WSL VM before moving forward.\n\n\n  For installing Ruby, run:\n      rvm install ruby\n  rvm --default use ruby 2.7.1\n  gem update\n  gem install jekyll bundler\n    \n  \n\n\nFor Linux\n\n\n  Prerequisites\n      sudo apt-get update\n  sudo apt-get install autoconf bison build-essential libssl-dev libyaml-dev libreadline6-dev zlib1g-dev libncurses5-dev libffi-dev libgdbm3 libgdbm-dev\n    \n  \n\n\nInstalling rbenv\n\n\n  Cloning the rbenv repository\n      git clone https://github.com/rbenv/rbenv.git ~/.rbenv\n    \n    Note: Change bashrc with your shell specific rc file, for eg: if you are using zsh then the filename is zshrc.\n  \n  Setting the path\n      echo 'export PATH=\"$HOME/.rbenv/bin:$PATH\"' &gt;&gt; ~/.bashrc\n    \n  \n  rbenv init\n      echo 'eval \"$(rbenv init -)\"' &gt;&gt; ~/.bashrc\n    \n  \n  Reload your bashrc\n      source ~/.bashrc\n    \n  \n  Check installation\n      type rbenv\n    \n  \n\n\nInstall Ruby\n\n\n  rbenv install version\n\n\n  rbenv install 2.7.5\n\n\n\n  To list all the versions that can be installed\n\n\n  rbenv install --list-all\n\n\n\n  Set which Ruby version you want to use\n\n\n  rbenv global version\n\n\n\n  Check Ruby installation\n\n\n  ruby -v\n\n\nFor MacOS\n\n\n  Use docs here Jekyll installation\n\n\nGet the code\n\n\n  Fork and then clone the Meshery repository\n    $ git clone https://github.com/YOUR-USERNAME/meshery\n    \n  \n  Change to the docs directory\n    $ cd docs\n    \n  \n  \n    Install any Ruby dependencies\n\n    $ gem install bundler\n$ bundle install\n    \n\n    Note: If you are a Mac user you do not need to install the Ruby dependencies, after moving on to the docs directory, you can serve the site.\n  \n\n\nServe the site\n\n\n  Serve the code locally\n    $ make site\n    \n  \n  \n    If that gives an error run:\n\n    $ bundle exec jekyll serve --drafts --config _config_dev.yml\n    \n\n    From the Makefile, this command is actually running $ bundle exec jekyll serve --drafts --livereload --config _config_dev.yml. If this command causes errors try running the server without Livereload with this command: $ bundle exec jekyll serve --drafts --config _config_dev.yml. Just keep in mind you will have to manually restart the server to reflect any changes made without Livereload. There are two Jekyll configuration, jekyll serve for developing locally and jekyll build when you need to generate the site artefacts for production.\n  \n\n\nUsing Docker\n\nIf you’ve Docker and make installed in your system, then you can serve the site locally\n\n$ make docker\n\n\nThis doesn’t require the need for installing Jekyll and Ruby in your system\n\nBut, you need to make sure that GNU make is working in your system (might not work in Windows)\n\nNote\n\nWhile performing the above step, if you’re facing errors with a message like below…\n\nYour ruby version is x.x.x but your Gemfile specified 2.7.x\n\nThis is because Jekyll always considers the exact version of Ruby unlike JavaScript.\n\nSo, you need to follow either of the three steps to resolve this problem;\n\n\n  Install the required Ruby version by using rvm or by any means given above\n  Alternatively, if you have Docker installed, then type make docker-docs to view the changes\n  If you’re unable to install the required Ruby version, then manually configure the Gemfile as below (not recommended! Do only if above two steps fail):\n\n\nsource \"https://rubygems.org\"\nruby '2.7.1' //to any version you have installed\n\n\nAutomatically the Gemfile.lock will update once the make site is given (for Windows, run bundle exec jekyll serve if WSL2 isn’t present)\n\nWARNING: If you have followed the third step then please don’t commit the changes made on Gemfile and Gemfile.lock in your branch to preserve integrity, else the CI action will fail to generate the site preview during PR.\n\nCreate a Pull Request\n\n\n  After making changes, don’t forget to commit with the sign-off flag (-s)!\n    $ git commit -s -m “my commit message w/signoff”\n    \n  \n  Once all changes have been committed, push the changes.\n    $ git push origin &lt;branch-name&gt;\n    \n  \n  Then on Github, navigate to the Meshery repository and create a pull request from your recently pushed changes!\n\n\n\n\n\n  See the Meshery Documentation Google Doc for additional reference.\n\n\nUsing the features of Meshery Docs\n\nClipboard Feature\n\nMost popular clipboard plugins like Clipboard JS require the manual creation of a new ID for each code snippet. A different approach is used here. For code snippets, we either use html tags or markdown in the following manner:\n\n   &lt;pre class=\"codeblock-pre\"&gt;&lt;div class=\"codeblock\"&gt;\n   &lt;code class=\"clipboardjs\"&gt;\n     code snippet\n   &lt;/code&gt;&lt;/div&gt;&lt;/pre&gt;\n\n\n&lt;pre&gt;&lt;/pre&gt; tags are optional unless the code snippet is in a paragraph format and also gives a terminal like effect to the code\n\nA full block:\n\n```code snippet```\n\n\nInline formatting:\n\n`code snippet`: code snippet\n\nLanguage specific:\n\n```(language name)\n  code snippet\n```\n\n\nWhenever the code tags are detected, the clipboard javascript file is automatically loaded. Each code element is given a custom id and a clipboard-copy icon to copy the content.\n\nDocumentation Contribution Flow Summary\n\nNOTE: For contributing mesheryctl reference section, refer Contributing CLI\n\nThe following is a concise summary of the steps to contribute to Meshery documentation.\n\n\n  Create a fork, if you have not already, by following the steps described here\n  In the local copy of your fork, navigate to the docs folder.\ncd docs\n  Create and checkout a new branch to make changes within\ngit checkout -b &lt;my-changes&gt;\n  Edit/add documentation.\nvi &lt;specific page&gt;.md\n  Run site locally to preview changes.\nmake site\n  Commit, sign-off, and push changes to your remote branch.\ngit push origin &lt;my-changes&gt;\n  Open a pull request (in your web browser) against the repo: https://github.com/layer5io/meshery.\n\n\nTable of Contents in Sidebar (toc)\n\nSidebars use toc to create a table of contents. It is written in the following manner:\n\n    toc:\n  - title: Group 1\n    subfolderitems:\n      - page: Thing 1\n        url: /thing1.html\n      - page: Thing 2\n        url: /thing2.html\n      - page: Thing 3\n        url: /thing3.html\n\n\nThe output of the code snippet would be:\n\n    Group 1\n      Thing 1\n      Thing 2\n      Thing 3\n\n\nif condititional\n\nThis executes the block of code only if the given condition is true. It is executed in the following manner:\n\n    {% if product.title == 'Awesome Shoes' %}\n    These shoes are awesome!\n    {% endif %}\n\n\nIf the condition is true, the output would be:\n\n    How are you?\n\n\nfor loop\n\nThe for statement executes a block of code repeatedly. It is wriiten in the following manner:\n\n    {% for names in collection.names %}\n    {{ name.title }}\n    {% endfor %}\n\n\nThe output produced by the above code snippet:\n\n    Sam Ham Ethan\n\n\nComment\n\nComments allow to leave a block of code unattended, any statements between opening and closing comment would not be executed.\n\nInclude\n\nThe above tag is used to insert a already rendered file within the current template. It is written in the following manner:\n\n    {% include file.html %}\n\n\nAssign\n\nThe assign tag is used to create a new variable. It is written in the following manner:\n\n    {% assign variable1 = true %}\n\n\nSuggested Reading"
					}




					,

					"es-project-contributing-contributing-docs": {
						"id": "es-project-contributing-contributing-docs",
						"title": "Contributing to Meshery Docs",
						"categories": "",
						"url": " /es/project/contributing/contributing-docs",
						"content": "Antes de contribuir, revise el Documentation Contribution Flow. En los siguientes pasos, configurará su entorno de desarrollo, bifurcará y clonará el repositorio, ejecutará el sitio localmente y, finalmente, confirmará, aprobará y enviará los cambios realizados para su revisión.\n\n\nMeshery Documentation Design Specification\nVer el Especificación de diseño de documentación de Meshery , que sirve para proporcionar una descripción general de las herramientas y el enfoque utilizado para crear la documentación de Meshery y la arquitectura de información de ti.\n\n\nMarco de documentación\n\nLa documentación de Meshery se compone de estos componentes:\n\n\n  Marco de referencia - Jekyll\n  MarcoTema - https://github.com/vsoch/docsy-jekyll\n  Repo - https://github.com/layer5io/meshery/tree/master/docs\n  DNS - https://meshery.layer5.io/docs\n  AWS API GW - una instancia está configurada para redirigir de docs.meshery.io a meshery.layer5.io, debido a la ubicación del repositorio donde residen actualmente los documentos.\n\n\nConfigura tu entorno de desarrollo\n\n\nJekyll\nEl sitio de Meshery Docs se construye con Jekyll, un generador de sitios estático simple. Jekyll se puede instalar en diferentes plataformas como Windows, Linux y MacOS siguiendo los siguientes pasos \n\n\nPara Windows\n\nNote: Los usuarios de Windows pueden ejecutar Jekyll siguiendo el Windows Installation Guide y también instalando Ruby Version Manager RVM. RVM es una herramienta de línea de comandos que le permite trabajar con múltiples entornos Ruby en su máquina local. Alternativamente, si está ejecutando Windows 10 versión 1903 Build 18362 o superior, puede actualizar al Subsistema de Windows para Linux WSL y ejecute Jekyll en Linux en su lugar.\n\n\n  Inicie su VM WSL e instale el administrador de versiones de ruby (RVM):\n\n\n  sudo apt update\n  sudo apt install curl g++ gnupg gcc autoconf automake bison build-essential libc6-dev \\\n    \tlibffi-dev libgdbm-dev libncurses5-dev libsqlite3-dev libtool \\\n    \tlibyaml-dev make pkg-config sqlite3 zlib1g-dev libgmp-dev \\\n    \tlibreadline-dev libssl-dev\n  sudo gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3\n  curl -sSL https://get.rvm.io | sudo bash -s stable\n  sudo usermod -a -G rvm `whoami`\n\n\nSi gpg --keyserver da un error, puede usar:\n\n  sudo gpg --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3\n\n\no\n\n  sudo gpg2 --keyserver hkp://pool.sks-keyservers.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB\n\n\nReinicie su VM WSL antes de seguir adelante.\n\n\n  Para instalar Ruby, ejecute:\n      rvm install ruby\n  rvm --default use ruby 2.7.1\n  gem update\n  gem install jekyll bundler\n    \n  \n\n\nPara Linux\n\n\n  Prerrequisitos\n      sudo apt-get update\n  sudo apt-get install autoconf bison build-essential libssl-dev libyaml-dev libreadline6-dev zlib1g-dev libncurses5-dev libffi-dev libgdbm3 libgdbm-dev\n    \n  \n\n\nInstalación de rbenv\n\n\n  Clonación del repositorio rbenv\n      clon de git https://github.com/rbenv/rbenv.git ~/.rbenv\n    \n  \n  Marcando el camino\n      echo 'export PATH=\"$HOME/.rbenv/bin:$PATH\"' &gt;&gt; ~/.bashrc\n    \n  \n  rbenv init\n      echo 'eval \"$(rbenv init -)\"' &gt;&gt; ~/.bashrc\n    \n  \n  Recarga tu bashrc\n      source ~/.bashrc\n    \n    Nota: Cambie bashrc con el archivo rc específico de su shell, por ejemplo: si está usando zsh, el nombre del archivo es zshrc.\n  \n  Verificar instalación\n      type rbenv\n    \n  \n\n\nInstalar Ruby\n\n\n  versión de instalación de rbenv\n\n\n  rbenv install 2.5.1\n\n\n\n  Para enumerar todas las versiones que se pueden instalar\n\n\n  rbenv install --list-all\n\n\n\n  Establezca qué versión de Ruby desea usar\n\n\n  rbenv global version\n\n\n\n  Compruebe la instalación de Ruby\n\n\n  ruby -v\n\n\nPara MacOS\n\n\n  Utilice los documentos aquí Instalación de Jekyll\n\n\nObtener el codigo\n\n\n  Bifurcar y luego clonar el repositorio de Meshery\n    $ git clone https://github.com/YOUR-USERNAME/meshery\n    \n  \n  Cambiar al directorio de documentos\n    $ cd docs\n    \n  \n  \n    Instale las dependencias de Ruby\n\n    $ gem install bundler\n$ bundle install\n    \n  \n\n\n Nota:  si es un usuario de Mac, no necesita instalar las dependencias de Ruby; después de pasar al directorio de documentos, puede servir el sitio.\n\nSirva el sitio\n\n\n  Sirve el código localmente\n    $ make site\n    \n  \n  \n    Si eso da un error, ejecute:\n\n      $ bundle exec jekyll serve\n    \n  \n\n\n_Nota: Desde Makefile, este comando en realidad está ejecutando $ bundle exec jekyll serve --drafts --livereload. Hay dos configuraciones de Jekyll, jekyll serve para desarrollo local y jekyll build cuando necesita generar los artefactos del sitio para la producción.\n\nUso de Docker\n\nSi tiene Docker y make instalados en su sistema, entonces puede servir el sitio localmente\n\n$ make docker-docs\n\n\nEsto no requiere la necesidad de instalar Jekyll y Ruby en su sistema.\n\n** Pero, debe asegurarse de que GNU make funcione en su sistema (puede que no funcione en Windows) **\n\nNota\n\nMientras realiza el paso anterior, si enfrenta errores con un mensaje como el siguiente …\n\nYour ruby version is x.x.x but your Gemfile specified 2.7.x\n\nEsto se debe a que Jekyll siempre considera la versión exacta de Ruby a diferencia de JavaScript.\n\nPor lo tanto, debe seguir cualquiera de los tres pasos para resolver este problema;\n\n\n  Instale la versión de Ruby requerida usando rvm o por cualquier medio dado arriba\n  Alternativamente, si tiene Docker instalado, escriba make docker-docs para ver los cambios\n  Si no puede instalar la versión de Ruby requerida, configure manualmente el Gemfile como se muestra a continuación (¡no se recomienda! Hágalo solo si fallan los dos pasos anteriores):\n\n\nsource \"https://rubygems.org\"\nruby '2.7.1' //to any version you have installed\n\n\nAutomáticamente el Gemfile.lock se actualizará una vez que se proporcione el make site (para Windows, ejecute bundle exec jekyll serve si WSL2 no está presente)\n\n** ADVERTENCIA: Si ha seguido el tercer paso, no confirme los cambios realizados en Gemfile y Gemfile.lock en su rama para preservar la integridad; de lo contrario, la acción de CI no generará la vista previa del sitio durante las relaciones públicas. **.\n\nCrear una solicitud de extracción\n\n\n  Después de realizar cambios, no olvide comprometerse con el sign-off bandera (-s)!\n    $ commit -s -m “my commit message w/signoff”\n    \n  \n  Una vez que se hayan confirmado todos los cambios, insértelos.\n    $ git push origin &lt;branch-name&gt;\n    \n  \n  Luego, en Github, navega hasta el repositorio de Meshery y crea una solicitud de extracción a partir de los cambios introducidos recientemente!\n\n\n\n\n\n  Ver elMeshery Documentation Google Doc para referencia adicional.\n\n\nUso de las funciones de Meshery Docs\n\nFunción de portapapeles\n\nLos complementos de portapapeles más populares, como Clipboard JS, requieren la creación manual de una nueva ID para cada fragmento de código. Aquí se utiliza un enfoque diferente. Para los fragmentos de código, usamos etiquetas html o rebajas de la siguiente manera:\n\n   &lt;pre class=\"codeblock-pre\"&gt;&lt;div class=\"codeblock\"&gt;\n   &lt;code class=\"clipboardjs\"&gt;\n     code snippet\n   &lt;/code&gt;&lt;/div&gt;&lt;/pre&gt;\n\n\n&lt;pre&gt;&lt;/pre&gt; tags son opcionales a menos que el fragmento de código esté en un formato de párrafo y también le dé un efecto de terminal al código\n\nUn bloque completo:\n\n```code snippet```\n\n\nFormateo en línea:\n\n`code snippet`: code snippet\n\nEspecífico del idioma:\n\n```(language name)\n  code snippet\n```\n\n\nWhenever the code tags are detected, the clipboard javascript file is automatically loaded. Each code element is given a custom id and a clipboard-copy icon to copy the content.\n\nResumen del flujo de contribución a la documentación\n\nEl siguiente es un resumen conciso de los pasos para contribuir a la documentación de Meshery.\n\n\n  Cree una bifurcación, si aún no lo ha hecho, siguiendo los pasos descritos [aquí] (CONTRIBUTING-gitflow.md)\n  En la copia local de su bifurcación, navegue hasta la carpeta de documentos.\ncd docs\n  Cree y verifique una nueva rama para realizar cambios dentro de\ngit checkout -b &lt;mis-cambios&gt;\n  Edite / agregue documentación.\nvi &lt;página específica&gt; .md\n  Ejecute el sitio localmente para obtener una vista previa de los cambios.\nhacer sitio\n  Confirme, [sign-off] (# commit-signing) y envíe los cambios a su sucursal remota.\ngit push origin &lt;mis-cambios&gt;\n  Abra una solicitud de extracción (en su navegador web) contra el repositorio: https://github.com/layer5io/meshery.\n\n\nTabla de contenido en la barra lateral (toc)\n\nLas barras laterales usan toc para crear una tabla de contenido. Está escrito de la siguiente manera:\n\n    toc:\n  - title: Group 1\n    subfolderitems:\n      - page: Thing 1\n        url: /thing1.html\n      - page: Thing 2\n        url: /thing2.html\n      - page: Thing 3\n        url: /thing3.html\n\n\nLa salida del fragmento de código sería:\n\n    Group 1\n      Thing 1\n      Thing 2\n      Thing 3\n\n\nif condicional\n\nEsto ejecuta el bloque de código solo si la condición dada es verdadera. Se ejecuta de la siguiente manera:\n\n    {% if product.title == 'Awesome Shoes' %}\n    These shoes are awesome!\n    {% endif %}\n\n\nSi la condición es verdadera, la salida sería:\n\n    How are you?\n\n\nfor loop\n\nLa instrucción for ejecuta un bloque de código repetidamente. Está escrito de la siguiente manera:\n\n    {% for names in collection.names %}\n    {{ name.title }}\n    {% endfor %}\n\n\nEl resultado producido por el fragmento de código anterior:\n\n    Sam Ham Ethan\n\n\nComentario\n\nLos comentarios permiten dejar un bloque de código desatendido, no se ejecutará ninguna declaración entre el comentario de apertura y el de cierre.\n\nIncluir\n\nLa etiqueta anterior se utiliza para insertar un archivo ya renderizado dentro de la plantilla actual. Está escrito de la siguiente manera:\n\n    {% include file.html %}\n\n\nAsignar\n\nLa etiqueta de asignación se utiliza para crear una nueva variable. Está escrito de la siguiente manera:\n\n    {% assign variable1 = true %}\n\n\nSuggested Reading"
					}




					,

					"project-contributing-contributing-error": {
						"id": "project-contributing-contributing-error",
						"title": "How to write MeshKit compatible errors",
						"categories": "",
						"url": " /project/contributing/contributing-error",
						"content": "Meshery pervasively uses MeshKit as a golang and service mesh management-specific library in all of its components. MeshKit helps populate error messages with a uniform and useful set of informative attributes.\n\nTo help with creating error codes, MeshKit contains a tool that analyzes, verifies and updates error codes in Meshery source code trees. It extracts error details into a file that can be used for publishing all error code references on the Meshery error codes reference page. The objective to create this was to avoid centralized handling of error codes and automating everything\n\nIn order to create a Meshery error object, you will need to create a custom wrapper object for the native golang error. This can be done from the MeshKit Error package.\n\nThis tool will create a couple of files, one of them is designed to be used to generate the error reference on the Meshery Documentation website. The file errorutil_analyze_summary.json contains a summary of the analysis, notably lists of duplicates etc.\n\nConventions to follow while creating errors\n\n\n  Errors names and codes are namespaced to components, i.e. they need to be unique within a component, which is verified by this tool.\n  Errors are not to be reused across components and modules.\n  Error codes are not to be set as integer. CI will take care of updating Error codes from a string to an integer.\n  Running make error analyzes your code and returns any warnings to be aware of.\n  Capitalize the first letter of the every error description.\n  Using errors.NewDefault(…) is deprecated. This tool emits a warning if its use is detected.\n  Use errors.New(…) from MeshKit to create actual errors with all the details.\n  This is often done in a factory function. It is important that the error code variable is used here, not a literal.\n  Specify detailed descriptions, probable causes, and remedies. They need to be string literals, call expressions are ignored.\n  This tool extracts this information from the code and exports it.\n  For the Code argument in the errors.New use the same Error name and append a “Code” after it. e.g error name : ErrApplyManifest then the error code is ErrApplyManifestCode\n  Set the value to any string, like “replace_me” (no convention here), e.g. ErrApplyManifestCode = “replace_me”.\n  By convention, error codes and the factory functions live in files called error.go. The tool checks all files, but updates only error.go files.\n\n\nUse the errors.New() function to create a new instance of the error object and pass situation-specific attributes as function arguments. These attributes are:\n\n\n  Code\n  Short Description\n  Long Description\n  Probable Cause\n  Suggested Remediation\n\n\nSyntax\n\n errors.New(ErrExampleCode, errors.Alert, []string{\"&lt;short-description&gt;\"}, []string{\"&lt;long-description&gt;\"}, []string{\"&lt;probable-cause&gt;\"}, []string{\"&lt;suggested remediation&gt;\"})\n\n\nExample\n\nIn this example we are creating an Error for being unable to marshal JSON\n\nvar (\n    // Error code\n    ErrMarshalCode= \"replace_me\"\n\n    //Static errors (for example)\n    ErrExample = errors.New(ErrExampleCode, errors.Alert, []string{\"&lt;short-description&gt;\"}, []string{\"&lt;long-description&gt;\"}, []string{\"&lt;probable-cause&gt;\"}, []string{\"&lt;suggested remediation&gt;\"})\n)\n\n// Dynamic errors\n//Error Name\nfunc ErrMarshal(err error, obj string) error {\n\treturn errors.New(ErrMarshalCode, errors.Alert, []string{\"Unable to marshal the : \", obj}, []string{err.Error()}, []string{}, []string{})\n}\n\n\n\nReplacing old Error Codes\n\nOld\n\n   bd, err := json.Marshal(providers)\n\tif err != nil {\n\t\thttp.Error(w, \"unable to marshal the providers\", http.StatusInternalServerError)\n\t\treturn\n\t}\n\n\nNew\n\n  bd, err := json.Marshal(providers)\n  if err != nil {\n          obj := \"provider\"\n          http.Error(w, ErrMarshal(err, obj).Error(), http.StatusInternalServerError)\n          return\n      }\n\n\nReplacing logrus\n\nThere already exists an interface for logger in MeshKit.\n\n\nWARNING\nTo enforce the use of meshkit errors, meshkit logger was designed such that it only works with meshkit errors. If a non-meshkit error is logged through the logger, it would panic and kill the process. See: meshkit#119 for more insight.\n\n\nDefining a Logger\n\n type Logger struct {\n     log   logger.Handler\n }\n\n\nDebug\n\nOld\n\nlogrus.Debugf(\"meshLocationURL: %s\", meshLocationURL)\n\nNew\n\nl.log.Debug(\"meshLocationURL: \", meshLocationURL)\n\nError\n\nOld\n\nlogrus.Errorf(\"error marshaling data: %v.\", err)\n\nNew\n\nl.log.Error(ErrMarshal(err, obj))\n\nA small program using meshkit errors and logger\n\npackage main\n\nimport (\n\t\"fmt\"\n\t\"os\"\n\n\tmeshkitErrors \"github.com/layer5io/meshkit/errors\"\n\t\"github.com/layer5io/meshkit/logger\"\n)\n\nvar (\n\t// CI will replace `test_code` with new error code\n\tErrOpeningFileCode = \"test_code\"\n)\n\nfunc main() {\n\tlog, err := logger.New(\"test\", logger.Options{\n\t\tFormat:     logger.SyslogLogFormat,\n\t\tDebugLevel: true,\n\t})\n\tif err != nil {\n\t\tfmt.Println(err)\n\t\tos.Exit(1)\n\t}\n\n\t// logging meshkit error\n\terr = openFileWithMeshkitError(\"some.txt\")\n\tif err != nil {\n\t\tlog.Error(err)\n\t}\n\t// OUTPUT\n\t// ERRO[2021-11-10T17:31:28+05:30] open some.txt: no such file or directory      app=test code=1001 probable-cause=\"empty string passed as argument .file with this name doesn't exist\" severity=2 short-description=\"unable to open file\" suggested-remediation=\"pass a non-empty string as filename .create file before opening it\"\n\n\t// logging non meshkit error\n\terr = openFile(\"some.txt\")\n\tif err != nil {\n\t\tlog.Error(err)\n\t}\n\t// OUTPUT\n\t// panic: interface conversion: error is *fs.PathError, not *errors.Error\n\t// goroutine 1 [running]:\n\t// github.com/layer5io/meshkit/errors.GetCode({0x50dfc0, 0xc000068450})\n\t//         /home/rudraksh/go/pkg/mod/github.com/layer5io/meshkit@v0.2.33/errors/errors.go:90 +0x90\n\t// github.com/layer5io/meshkit/logger.(*Logger).Error(0xc00000e040, {0x50dfc0, 0xc000068450})\n\t//         /home/rudraksh/go/pkg/mod/github.com/layer5io/meshkit@v0.2.33/logger/logger.go:57 +0xbb\n\t// main.main()\n\t//         /home/rudraksh/trash/meshkitplay/main.go:32 +0xe2\n\t// exit status 2\n\n}\n\n// this returns a non meshkit error\nfunc openFile(name string) error {\n\t_, err := os.Open(name)\n\treturn err\n}\n\n// this returns a meshkit error\nfunc openFileWithMeshkitError(name string) error {\n\t_, err := os.Open(name)\n\treturn ErrOpeningFile(err)\n}\n\nfunc ErrOpeningFile(err error) error {\n\treturn meshkitErrors.New(ErrOpeningFileCode, meshkitErrors.Alert, []string{\"unable to open file\"},\n\t[]string{err.Error()},\n\t[]string{\"empty string passed as argument \", \"file with this name doesn't exist\"},\n\t[]string{\"pass a non-empty string as filename \", \"create file before opening it\"})\n}\n\n\nSuggested Reading"
					}




					,

					"project-contributing-contributing-gitflow": {
						"id": "project-contributing-contributing-gitflow",
						"title": "Contributing to Meshery using git",
						"categories": "",
						"url": " /project/contributing/contributing-gitflow",
						"content": "Working by Forking\n\nJust head over to the GitHub page and click the “Fork” button. It’s just that simple. Once you’ve done that, you can use your favorite git client to clone your repo or just head straight to the command line:\n\nClone your fork to your local machine\n\ngit clone git@github.com:USERNAME/FORKED-PROJECT.git\n\n\nKeeping Your Fork Up to Date\nWhile this isn’t a necessary step, if you plan on doing anything more than just a tiny quick fix, you’ll want to make sure you keep your fork up to date by tracking the original “upstream” repo that you forked. To do this, you’ll need to add a remote:\n\nAdd ‘upstream’ repo to list of remotes\n\ngit remote add upstream https://github.com/meshery/meshery.git\n\n\n(“meshery” is used as the example repo. Be sure to reference the actual repo you’re contributing to e.g. “meshery-linkerd”).\n\nVerify the new remote named ‘upstream’\n\ngit remote -v\n\n\nWhenever you want to update your fork with the latest upstream changes, you’ll need to first fetch the upstream repo’s branches and latest commits to bring them into your repository:\n\nFetch from upstream remote\n\ngit fetch upstream\n\n\nView all branches, including those from upstream\n\ngit branch -va\n\n\nNow, check out your master branch and merge the upstream repo’s master branch:\n\nCheckout your master branch and merge upstream\n\ngit checkout master\ngit merge upstream/master\n\n\nIf there are no unique commits on the local master branch, git will simply perform a fast-forward. However, if you have been making changes on master (in the vast majority of cases you probably shouldn’t be - see the next section, you may have to deal with conflicts. When doing so, be careful to respect the changes made upstream.\n\nNow, your local master branch is up-to-date with everything modified upstream.\n\nCreate a Branch (doing your work)\nWhenever you begin work on a new feature or bugfix, it’s important that you create a new branch. Not only is it proper git workflow, but it also keeps your changes organized and separated from the master branch so that you can easily submit and manage multiple pull requests for every task you complete.\n\nTo create a new branch and start working on it, perform the following flow.\n\nCheck out the master branch - you want your new branch to come from the master\n\ngit checkout master\n\n\nCreate a new branch (give your branch its own simple informative name)\n\nFor enhancements use feature/your_username/issue# or feature/your_username/name_of_feature\n\nFor bugs use bug/your_username/issue# or bug/your_username/name_of_bug\n\ngit branch feature/jdoe/567\n\n\nSwitch to your new branch\n\ngit checkout feature/jdoe/567\n\n\nNow, go to town hacking away and making whatever changes you want to.\n\nSubmitting your changes (a Pull Request)\n\nBefore submitting your pull request, you might want to do a few things to clean up your branch and make it as simple as possible for the original repo’s maintainer to test, accept, and merge your work.\n\nIn the time that you’ve been working on your changes, if any commits have been made to the upstream master branch, you will need to rebase your development branch so that merging it will be a simple fast-forward that won’t require any conflict resolution work.\n\nFetch upstream master and merge with your repo’s master branch\n\ngit fetch upstream\ngit checkout master\ngit merge upstream/master\n\n\nIf there were any new commits, rebase your development branch\n\ngit checkout feature/jdoe/567\ngit rebase master\n\n\nNow, it may be desirable to squash some of your smaller commits down into a small number of larger more cohesive commits. You can do this with an interactive rebase:\n\nRebase all commits on your development branch\n\ngit checkout\ngit rebase -i master\n\n\nThis will open up a text editor where you can specify which commits to squash.\n\nSubmitting\n\nOnce you’ve committed and pushed all of your changes to GitHub, go to the page for your fork on GitHub, select your development branch, and click the pull request button. If you need to make any adjustments to your pull request, just push the updates to GitHub. Your pull request will automatically track the changes in your development branch and update it.\n\nSuggested Reading"
					}




					,

					"project-contributing-contributing-guide": {
						"id": "project-contributing-contributing-guide",
						"title": "Meshery Contributing Guidelines",
						"categories": "",
						"url": " /project/contributing/contributing-guide",
						"content": "These guidelines are a collection of principles and conventions that need to be followed while designing mesheryctl commands.\n\nDesign Principles\n\n1. Consistency is quality.\n\n\n  Consistency of interaction drives a *quality* user experience. Whether that experience is delightful or painful is a related, but separate consideration. Meshery’s behavior of user interactions should be consistent even when their user experience is poor.\n\n\n2. Intuitive user experiences feel natural to users.\n\n\n  When being designed, each of Meshery’s user experiences should be examined first from the user’s perspective.\n\n\nCommands should be designed in such a way that they are intuitive. Users should ideally be able to understand what a command is used for without having to extensively go through the documentation.\n\nFor example, mesheryctl pattern apply -f &lt;pattern name&gt; requires no further clarification as it is evident that the command will apply the pattern specified.\n\nConsistency is key when designing intuitive interfaces. Although mesheryctl perf run -f &lt;performance profile name&gt; may sound more intuitive, users who are experienced in using the CLI will prefer the consistant verb apply over run.\n\nThis will also ensure a consistent command language making memorizing easier.\n\nConsistency should also be enforced when chaining commands and using flags.\n\nFor example, if mesheryctl pattern has a list and view command and has an -all and --output flag, then, similar commands like mesheryctl perf should also support the same commands and flags and provide a consistent user experience.\n\nRational defaults overriden with flags\n\nDefault behaviour should be optimised for what users will need to do most of the time.\n\nThese assumed defaults should be easily overriden by the user with flags.\n\nFor example, mesheryctl system context create &lt;context name&gt; assumes a default platform for the created context. But this can be easily overriden with the --platform flag.\n\nUser Experience: GUI vs CLI\n\nIdeally, all functionality provided in Meshery UI should be available to users via CLI (in mesherctl). Meshery strives for parity of functionality between it’s two clients. For example, viewing a performance profile in the GUI and with mesheryctl system perf view &lt;profile name&gt; in the CLI should show the same data.\n\nCommand line interfaces offer less context to the user, which makes them inherently less intuitive compared to graphical user interfaces. Both of these user interfaces, however, are the same in that they are both clients of Meshery Server. Both clients are a user experience and as such, to be attended to in this way. The following considerations should be accounted for when designing mesheryctl experiences:\n\n\n  Provide only relevant output. Use “debug” logs that can be accessed with --verbose flag wherever needed.\n  Add headers to output to give context to the user.\n  As mentioned above, similar commands should behave similarly.\n  Confirm steps for risky commands. For example, use the AskForConfirmation function which will prompt the user to type in “yes” or “no” to continue.\n  Anticipate user actions. If the user creates a new context with mesheryctl system context create then the next action might be mesheryctl system start to start Meshery ot mesheryctl system context switch to switch context names.\n  Anticipate user errors. For example, if the user types in mesheryctl system satrt, using the inbuilt features with the cobra library, we can correct it to start and alert the user.\n\n\nProcess\n\nWhen designing for the CLI, consider:\n\nWhat the command does\n\nWhat makes sense to do from a terminal? What doesn’t?\nWhat might people want to automate?\nWhat is the default behavior? What flags might you need to change that behavior?\nWhat might people try and fail to do and how can you anticipate that?\n\nWhat the command is called\n\nWhat should be the command language? (mesheryctl &lt;command&gt; &lt;subcommand&gt; [args] [flags] [value])\nWhat should be a command vs a flag?\nHow can you align the language of the new command with the existing commands?\n\nWhat the command outputs\n\nHow can you make the GUI and the CLI outputs similar?\nWhat should be outputted normally and what falls into debug logs?\n\nHow you explain your command\n\nYou will need to provide a short and long description of the command for the help pages and also for the Meshery Documentation.\n\nCreating design specifications\n\nIf you are working on a new command or adding a new feature on an existing command, it is recommended to setup a design spec so that other contributors can weigh in on the design before you start to code.\n\nBroader features should have a design spec made in Google Doc using this template.\n\nFor small changes, communicating over the issue tracker or the discussions will be helpful.\n\nSuggested Reading"
					}




					,

					"project-contributing-contributing-ui": {
						"id": "project-contributing-contributing-ui",
						"title": "Contributing to Meshery UI",
						"categories": "",
						"url": " /project/contributing/contributing-ui",
						"content": "UI Contribution Flow\n\nMeshery is written in Go (Golang) and leverages Go Modules. UI is built on React and Next.js. To make building and packaging easier a Makefile is included in the main repository folder.\n\nArchitecture\n\nThe following is a list of top-level frameworks, libraries, design system used in Meshery UI.\n\n\n  NextJS - Server and router\n  ReactJS - User Interface library\n  Material UI - Design System\n  BillboardJS - Charting library, used for exposing Grafana and Prometheus-collected metrics\n  CytoscapeJS - a visualization tool for canvas-based, visual topology (networks)\n\n\nMeshery Server APIs\n\nGo here for the docs.\n\nREST API\n\n\n  Meshery provides a REST API available through the default port of 9081/tcp.\n  List of endpoints (spreadsheet) a simple, static list of REST API endpoints with short description of their purpose.\n  Swagger / Open API.\n  Collection of sets of REST API docs that Meshery server exposes to clients (like the Meshery UI).\n\n\nGraphQL API\n\n\n  Meshery provides a GraphQl API available through the default port of 9081/tcp.\n  Relay is the client used.\n\n\nDesign\n\nWireframing / Mockups\n\n\n  Meshery UI in Figma\n\n\n\n  Fill-in a community member form to gain access to community resources.\nYou need to ask for the access to the above Figma File in Slack\n\n\nDesign Prologue\n\nMeshery UI is a significant component of the value proposition Meshery offers to individuals and organizations seeking to adopt and operate a service mesh or collection of service meshes.\n\nDesign Goals\n\nThe designs in this specification should result in enabling:\n\n\n  \n    User experience should be intuitive\n\n    This is achieved through sensible defaults, consistency of user interaction paradigms and features that delight the user.\n  \n  \n    Meshery UI should simplify user management of workloads and service meshes\n\n    Meshery UI needs to be simple, but powerful. This is achieved through intuitive layouts and predefined filters that accommodate common tasks.\n  \n  \n    Extensible\n\n    Meshery UI should be a first-class component of Meshery, but also facilitate third-party integrations.\n  \n\n\nDesign Objectives\n\nThe designs in this specification should result in enabling:\n\n\n  Meshery UI should be event-driven where possible.\n\n\nSetup\n\nLinting-UI\n\n\n  \n    When contributing to this project, it is advisable to\n\n    \n      \n        Use prettier and eslint plugin for Visual Studio Code.\n      \n      \n        Disable plugins other than prettier and eslint for formatting and linting, if any.\n      \n    \n  \n\n\nInstall UI dependencies\n\nTo install/update the UI dependencies:\n\nmake ui-setup\n\n\nBuild and export UI\n\nTo build and export the UI code:\n\nmake ui-build\n\n\n\n  Now that the UI code is built, Meshery UI will be available at http://localhost:9081 when Meshery Server is running (Read below).\n\n\n\n  Changes are not recompiled directly, you will have to run to rebuild the UI to see them\n\n\nRun Meshery Server\n\nTo start running Meshery Server locally:\n\n$ make server\n\n\n  Now, Meshery will run on the default port http://localhost:9081.\n\n\n\nUsage of 'make run-fast' is deprecated!\n\n\n\nUI Development Server\n\nIf you want to work on the UI, it will be a good idea to use the included UI development server. You can run the UI development server by running the following command:\n\nmake ui\n\n\nRefer to Contributing to Meshery Server, if needed.\n\n\n  Make sure to have Meshery Server configured, up and running on the default port http://localhost:9081 before proceeding to access and work on the UI server at http://localhost:3000.\n\n\n\n  Any UI changes made now will automatically be recompiled and served in the browser.\n\n\nRunning Cypress integration tests\n\nTo run cypress integration tests, a convenience make target called ui-integration-tests that installs dependencies in /ui and /provider-ui folders as prerequisite and invokes ci-test-integration npm script found in /ui/package.json\n\n   \n     $ make ui-integration-tests\n   \n\nAbove command must be run from Meshery repository's root folder.\n\n\n\nRefer to Meshery Cypress Testing for details of how to contribute and benefit from Meshery Cypress (integration &amp; end-to-end) testing.\n\nRunning Meshery from IDE\n\nAll of the above steps would get the Meshery’s development server running for you to work on in any IDE of your choice.\n\nSuggested Reading"
					}




					,

					"project-contributing": {
						"id": "project-contributing",
						"title": "Contributing",
						"categories": "",
						"url": " /project/contributing",
						"content": "Please do! Thanks for your help! 🎈 Meshery is community-built and welcomes collaboration. Contributors are expected to adhere to the CNCF’s Code of Conduct.\n\nContributing Guides\n\n\n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  Contributing to Meshery Server\n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  Contributing to Meshery UI\n  \n  \n  \n  \n  Meshery Contributing Guidelines\n  \n  \n  \n  \n  Contributing to Meshery using git\n  \n  \n  \n  \n  How to write MeshKit compatible errors\n  \n  \n  \n  \n  \n  \n  Contributing to Meshery Docs\n  \n  \n  \n  \n  Contributing to Meshery's End-to-End Tests using Cypress\n  \n  \n  \n  \n  Contributing to Meshery CLI\n  \n  \n  \n  \n  Contributing to Meshery Adapters\n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n\n\nNot sure where to start?\n\nFollow these steps and you’ll be right at home.\n\n\n  \n    See the Community Welcome Guide for how, where, and why to contribute.\n  \n  \n    Sign up for a MeshMate to find the perfect Mentor to help you explore the Layer5 projects and find your place in the community:\n  \n\n\n\n  Familiarize yourself with the broader set of community projects (take a look atthe Repository Overview: Spend time understanding each of the initiatives through high-level overviews available in the community drive and through discussions with your MeshMate.\n  Identify your area of interest: Use the time with your MeshMate to familiarize yourself with the architecture and technologies used in the projects. Inform your MeshMate of your current skills and what skills you aim to develop.\n  Run Meshery: Put on your user hat and walk-through all of Meshery’s features and functions as a user.\n  Build Meshery: Confirm that you have a usable development environment.\n  Discuss with the community by engaging in the discussion form.\n  Contribute by grabbing any open issue with the help-wanted label and jump in. If needed, create a new issue. All pull requests should reference an open issue. Include keywords in your pull request descriptions, as well as commit messages, to automatically close issues in GitHub.\n  Fill-in a community member form community member form to gain access to community resources.\n\n\nGeneral Contribution Flow\n\nTo contribute to Meshery, please follow the fork-and-pull request workflow described here.\n\nSigning-off on Commits (Developer Certificate of Origin)\n\nTo contribute to this project, you must agree to the Developer Certificate of\nOrigin (DCO) for each commit you make. The DCO is a simple statement that you,\nas a contributor, have the legal right to make the contribution.\n\nSee the DCO file for the full text of what you must agree to\nand how it works here.\nTo signify that you agree to the DCO for contributions, you simply add a line to each of your\ngit commit messages:\n\nSigned-off-by: Jane Smith &lt;jane.smith@example.com&gt;\n\n\nIn most cases, you can add this signoff to your commit automatically with the\n-s or --signoff flag to git commit. You must use your real name and a reachable email\naddress (sorry, no pseudonyms or anonymous contributions). An example of signing off on a commit:\n\n$ git commit -s -m “my commit message w/signoff”\n\n\nTo ensure all your commits are signed, you may choose to add this alias to your global .gitconfig:\n\n~/.gitconfig\n\n[alias]\n  amend = commit -s --amend\n  cm = commit -s -m\n  commit = commit -s\n\n\nOr you may configure your IDE, for example, Visual Studio Code to automatically sign-off commits for you:\n\n\n\nMeshery Contribution Flow\n\nMeshery is written in Go (Golang) and leverages Go Modules. UI is built on React and Next.js. To make building and packaging easier a Makefile is included in the main repository folder.\n\nRelevant coding style guidelines are the Go Code Review Comments and the Formatting and style section of Peter Bourgon’s Go: Best\nPractices for Production Environments.\n\nPlease note: All make commands should be run in a terminal from within the Meshery’s main folder.\n\nPrerequisites for building Meshery in your development environment:\n\n\n  Go version 1.11+ installed if you want to build and/or make changes to the existing code.\n  GOPATH environment variable should be configured appropriately\n  npm and node should be installed on your machine, preferably the latest versions.\n  Fork this repository (git clone https://github.com/layer5io/meshery.git), clone your forked version of Meshery to your local, preferably outside GOPATH. If you happen to checkout Meshery inside your GOPATH and you have a version of Go prior to version 1.13, please set an environment variable GO111MODULE=on to enable GO Modules."
					}




					,

					"es-project-contributing": {
						"id": "es-project-contributing",
						"title": "Contribuir",
						"categories": "",
						"url": " /es/project/contributing",
						"content": "Descripción general de contribución\n\nPor favor, ¡hazlo! ¡Gracias por tu ayuda! :balloon:\n\nEste proyecto está construido por la comunidad y la colaboración es bienvenida. Se espera que cada persona colaboradora se adhiera al Código de conducta de CNCF.\n\n¿No estás seguro/a por dónde empezar?\n\nSigue estos pasos y te sentirás como en casa.\n\n\n  Consulte la Guía de bienvenida de la comunidad para saber cómo, dónde y por qué contribuir.\n  Regístrate para un MeshMate y encontrar el Mentor (o Mentora) perfecto que te ayude a explorar los proyectos de Layer5 y encontrar tu lugar en la comunidad:\n\n\n\n  Familiarízate con todos los proyectos de Layer5 (echale un vistazo al Drive de la Comunidad y la lista de repositorios de Layer5: Dedicale tiempo a comprender cada una de las iniciativas de Layer5 a través de descripciones de alto nivel disponibles en el drive de comunidad y a través de discusiones con tu Mesh Mate.\n  Identifica tu área de interés: Usa el tiempo con tu MeshMate para familiarizarte con la arquitectura y las tecnologías utilizadas en los proyectos. Informa a tu MeshMate de tus habilidades actuales y las habilidades que pretendes desarrollar.\n  Ejecuta Meshery: Ponte en los zapatos del usuario y recorre todas las características y funciones de Meshery como usuario.\n  Construye Meshery: Asegurate que tienes un entorno de desarrollo usable.\n  Comunicate con la comunidad de Layer5 uniéndote a la cuenta de Slack.\n  Contribuye tomando cualquier issue abierto con la etiqueta help wanted y entrale. Si es necesario, crea un nuevo issue. Todas las pull requests deben hacer referencia a un issue abierto. Incluye palabras clave en las descripciones de tus pull requests, así como mensajes de commits, para cerrar automáticamente los issues en GitHub.\n\n\nSecciones\n\n\n  Flujo general de contribuciones\n  Certificado de origen del desarrollador\n  Flujo de contribución de Meshery\n    \n      Documentación de Meshery\n      Meshery Backend\n        \n          Escribir un Meshery Adapter\n        \n      \n      Meshery UI\nLas pautas de estilo de codificación relevantes son los comentarios de revisión de Go Code Review y la sección de formato y estilo de Go Code: las mejores prácticas para entornos de producción de Peter Bourgon.\n    \n  \n\n\nFlujo de contribución general\n\nPara contribuir a Meshery, siga el flujo de trabajo de fork-and-pull descrito aquí.\n\nCertificado de origen del desarrollador\n\nPara contribuir a este proyecto, debes aceptar el Certificado de\norigen de desarrollador (DCO en inglés Developer Certificate of Origin) para cada commit que haces. El DCO es una simple declaración de que tu, como contribuyente, tienes el derecho legal de hacer la contribución.\n\nConsulta el archivo DCO para obtener el texto completo de lo que debes aceptar y cómo funciona aquí.\nPara indicar que estás de acuerdo con el DCO para las contribuciones, simplemente agregues una línea a cada uno de tus commits git:\n\nSigned-off-by: Jane Smith &lt;jane.smith@example.com&gt;\n\n\nEn la mayoría de los casos, puedes agregar esta firma a tu confirmación automáticamente con la marca -s o --signoff en git commit. Debes usar tu nombre real y un correo electrónico accesible (lo sentimos, no se permiten seudónimos ni contribuciones anónimas). Un ejemplo de firma de una confirmación:\n\n$ commit -s -m “my commit message w/signoff”\n\n\nPara asegurarte de que todas tus confirmaciones están firmadas, puedes optar por agregar este alias a su global .gitconfig:\n~/.gitconfig\n\n[alias]\n  amend = commit -s --amend\n  cm = commit -s -m\n  commit = commit -s\n\n\nO puedes configurar tu IDE, por ejemplo , Visual Studio Code para cerrar automáticamente las confirmaciones por ti:\n\n\n\nFlujo de contribución a la documentación\n\n¡Por favor contribuye! La documentación de Meshery utiliza páginas de GitHub para alojar el sitio de documentos. Obten más información sobre el framework de documentación de Meshery. El flujo de proceso de contribución es el siguente:\n\n\n  Crea un fork, si aún no lo has hecho, sigue los pasos descritos aquí\n  En la copia local del fork, navega a la carpeta docs:\ncd docs\n  Crea una nueva rama para realizar cambios:\ngit checkout -b &lt;my-changes&gt;\n  Edita/agrega documentación:\nvi &lt;specific page&gt;.md\n  Ejecuta el sitio localmente para obtener una vista previa de los cambios:\nmake site\n  Has commit, sign-off, y envía los cambios a tu rama remota\ngit push origin &lt;my-changes&gt;\n  Abre pull request (en su navegador web) en nuestro repositorio principal: https://github.com/meshery/meshery.\n\n\nFlujo de contribución de Meshery\n\nMeshery está escrito en Go (Golang) y usa los módulos Go. La interfaz de usuario se basa en React y Next.js. Para facilitar la creación y el packaging, se incluye un archivo Makefile en la carpeta principal del repositorio.\n\nLas guías de estilo de programacción relevantes son los Comentarios de revisión de código de Go y la sección Formato y estilo de Peter Bourgon’s Go:BestPractices for Production.\n\nPor favor toma en cuenta: Todos los comandos make deben ejecutarse en una terminal desde la carpeta principal de Meshery.\n\nRequisitos previos para construir Meshery en tu entorno de desarrollo:\n\n\n  Tener la versión 1.11+ deGo instalada si quieres compilar y/o hacer cambios en el código existente.\n  La variable de entorno GOPATH debe configurarse de manera apropiada.\n  npm y node deben estar instalados en tu máquina, preferiblemente las últimas versiones.\n  Haz fork de este repoisitorio (https://github.com/meshery/meshery.git), clona tu version forked de Meshery a tu maquina local, preferiblemente fuera de tu GOPATH. Si llegase a suceder que copiaras Meshery dentro de tu GOPATH y tuvieras una version de go Go anterior a la versión 1.13, por favor establece la variable de entorno GO111MODULE=on para habilitar los modulos de Go.\n\n\nConstruir y ejecutar el servidor Meshery\n\nPara construir y ejecutar el código del servidor Meshery, ejecuta el siguiente comando:\n\nmake server\n\n\nCada vez que se realicen cambios en el código GO, tendrás que detener el servidor y ejecutar el comando anterior nuevamente.\nUna vez que el servidor Meshery esta en funcionamiento, deberías poder acceder a Meshery en tu localhost en el puerto 9081 en http://localhost:9081. Una cosa para tomar en cuenta, es que posiblemente NO veas la interfaz de usuario de Meshery hasta que también hayas creado el código de la interfaz de usuario.\nDespués de ejecutar el servidor Meshery, deberás seleccionar tu Proveedor de nube navegando a localhost:9081. Solo entonces podrás utilizar la interfaz de usuario de Meshery en el puerto 3000.\n\nCreación de una imagen de Docker\n\nPara crear una imagen de Docker de Meshery, asegúrete de tener instalado Docker para poder crear la imagen. Ahora, ejecuta el siguiente comando para construir la imagen de Docker:\n\nmake docker\n\n\nEscribiendo un Adaptador de Meshery\n\nMeshery usa adaptadores para hacer provisiones e interactuar con diferentes meshes de servicio. Sigue estas instrucciones para crear un nuevo adaptador o modificar un adaptador existente.\n\n\n  Obtén el archivo proto buf spec del repositorio de Meshery:\nwget https://raw.githubusercontent.com/meshery/meshery/master/meshes/meshops.proto\n  Genera el código\n    \n      Usando Go como ejemplo, haz lo siguiente::\n        \n          agrega GOPATH a tu PATH: export PATH=$PATH:$GOPATH/bin\n          instala grpc: go get -u google.golang.org/grpc\n          instala el plugin protoc para go: go get -u github.com/golang/protobuf/protoc-gen-go\n          Genenra el código de Go: protoc -I meshes/ meshes/meshops.proto --go_out=plugins=grpc:./meshes/\n        \n      \n      Para otros lenguajes consulta gRPC.io para las guías especificas del lenguaje.\n    \n  \n  Implementa los métodos de servicio (service method) y expón el puerto de gRPC en el puerto de tu elección (por ejemplo 10000).\n\n\nTip: El adaptador de Meshery para Istio es un buen adaptador de referencia para usar como ejemplo de un adaptador Meshery escrito en Go.\n\nFlujo de Contribución al UI\n\nMeshery está escrito en Go (Golang) y aprovecha los módulos Go. La interfaz de usuario se basa en React y Next.js. Para facilitar la creación y el empaquetado, se incluye un archivo Makefile en la carpeta principal del repositorio.\n\nInstalar las dependencias de UI\n\nPara instalar/actualizar las dependencias de UI:\n\nmake ui-setup\n\n\nConstruir y exportar UI\n\nPara construir y exportar el código de UI:\n\nmake ui-build\n\n\nAhora que el código de la interfaz de usuario está creado, la interfaz de usuario de Meshery estará disponible en http: // localhost: 9081.\nCada vez que se realizan cambios en el código de la interfaz de usuario, el código anterior deberá ejecutarse para reconstruir la interfaz de usuario.\n\nServidor de desarrollo de UI\n\nSi deseas trabajar en la UI, será una buena idea utilizar el servidor de desarrollo de UI incluido. Puedes ejecutar el servidor de desarrollo de UI ejecutando el siguiente comando:\n\nmake ui\n\n\nAsegúrete de tener el servidor Meshery configurado y en funcionamiento en el puerto predeterminado http://localhost:9081 antes de proceder a acceder y trabajar en el servidor de UI en http://localhost:3000.\nCualquier cambio en la interfaz de usuario realizado ahora se volverá a compilar y se servirá automáticamente en el navegador.\n\nEjecutando Meshery desde IDE\n\nSi deseas ejecutar Meshery desde un IDE como Goland, VSCode. establece la variable de entorno descrito aqui:\n\nPROVIDER_BASE_URLS=\"https://meshery.layer5.io\"\nPORT=9081\nDEBUG=true\nADAPTER_URLS=localhost:10000 localhost:10001 localhost:10002 localhost:10003 localhost:10004 localhost:10005 localhost:10006 localhost:10007 localhost:10008 localhost:10009\n\n\nargumento de go tool\n\n-tags draft"
					}




					,

					"es-concepts-architecture-database": {
						"id": "es-concepts-architecture-database",
						"title": "Database",
						"categories": "",
						"url": " /es/concepts/architecture/database",
						"content": "¿Qué son las Meshery Databases?\n\nLas Meshery Databases funcionan como repositorios para MeshSync, preferencias del usuario y configuraciones del sistema. Ambas bases de datos se consideran efímeras y deben ser tratadas como cachés. La retención de datos está atada a la vida útil de su instancia de Meshery Server. Los Remote Providers pueden ofrecer persistencia de datos a largo plazo. Las API de Meshery ofrecen mecanismos para clientes, como mesheryctl y UI de Meshery para recuperar datos.\n\nVer la figura a continuación para obtener detalles adicionales de los formatos de datos soportados y el tipo de datos almacenados.\n\n\n\nComponentes\n\nMeshery Database tiene varios tipos de implementaciones de base de datos para soportar varios casos de uso. Estos son listados a continuación:\n\n\n  \n    \n      Componente\n      Biblioteca\n    \n  \n  \n    \n      Bitcask\n      git.mills.io/prologic/bitcask\n    \n    \n      SQLite\n      gorm.io/gorm, gorm.io/driver/sqlite"
					}




					,

					"concepts-architecture-database": {
						"id": "concepts-architecture-database",
						"title": "Database",
						"categories": "",
						"url": " /concepts/architecture/database",
						"content": "What are the Meshery Databases?\n\nMeshery Databases function as repositories for MeshSync, user preferences and system settings. Both databases are considered ephemeral and should be treated as caches. Data retention is tethered to the lifetime of their Meshery Server instance. Remote Providers may offer long-term data persistence. Meshery’s APIs offer mechansims for clients, like mesheryctl and Meshery UI to retrieve data.\n\nSee the figure below for addtional details of the data formats supported and type of data stored.\n\n\n\nComponents\n\nMeshery Database has several kinds of database implementations to support various usecases. They are listed below:\n\n\n  \n    \n      Component\n      Library\n    \n  \n  \n    \n      Bitcask\n      git.mills.io/prologic/bitcask\n    \n    \n      SQLite\n      gorm.io/gorm, gorm.io/driver/sqlite"
					}




					,

					"guides-sample-apps": {
						"id": "guides-sample-apps",
						"title": "Deploying Sample Applications",
						"categories": "",
						"url": " /guides/sample-apps",
						"content": "Sample Applications are used to interact and exemplify the features of your service mesh. They are often a collection of microservices which you can be used by the user as a sandbox playground to experiment and learn about the service mesh and it’s exhaustive set of features.\nBefore deploying a sample app on top of your service mesh, the application needs to be exposed and allowed external access to the available services in a cluster. There are a myriad of ways to do this, specific to the service mesh you are using.\n\nA popular way of exposing your cluster is by using Ingress, an API object that defines rules which allow external access to services in a cluster.\n\n\n  Set up Ingress\n  Set up Ingress on Minikube\n\n\nDeploy a sample app on Meshery\n\n\n  \n    Go to the management page of any service mesh and install any of its stable versions.\n\n  \n  \n    Click (+) on Manage Sample Application Lifecycle. You will now be able to see a dropdown menu with the available sample applications.\n\n  \n  \n    Click on the sample application you want to deploy. This might take up to a minute. You will be notified when the sample application has been deployed\n\n  \n\n\nBookInfo\n\nOriginally built by Istio, BookInfo is a sample application which on deployment displays information about a book, similar to a single catalog entry of an online book store. Displayed on the page is a description of the book, book details (ISBN, number of pages, and so on), and a few book reviews. The application comprises of four microservices:\n\n\n  productpage: The productpage microservice calls the details and reviews microservices to populate the page.\n  details: The details microservice contains book information.\n  reviews: The reviews microservice contains book reviews. It also calls the ratings microservice.\n  ratings: The ratings microservice contains book ranking information that accompanies a book review.\n\n\nOnce BookInfo is deployed, you can use Meshery to apply custom configurations to control traffic, inject latency, perform context-based routing, and so on.\n\n\n\nEmojivoto\n\nEmojivoto is a microservice application, originally built by Linkerd that allows users to vote for their favorite emoji, and tracks votes received on a leaderboard. The application is composed of three microservices:\n\n\n  emojivoto-web: Web frontend and REST API\n  emojivoto-emoji-svc: gRPC API for finding and listing emoji\n  emojivoto-voting-svc: gRPC API for voting and leaderboard\n\n\n\n\nImageHub\n\nImage Hub is a sample application for exploring WebAssembly modules used as Envoy filters. The application was originally written to run on Consul. However, it doesn’t have any dependency on Consul and can be deployed on any service mesh. These modules can be used to implement multi-tenancy or to implement per user rate limiting in your application’s endpoints, without messing with your application infrastructure. \nFollow this tutorial to set up ImageHub with Ingress\n\n\n\nHTTPBin\n\nHttpBin is a simple HTTP request and response service that responds to many kinds of http/https requests including the standaard http request methods (or verbs) used by REST.\n\n\n\nLinkerd Books\n\nLinkerd Books is a sample Ruby based application. It is designed to demonstrate the various value propositions, including debugging, observability, and monitoring of your service mesh. It can be used to scope out your mesh’s efficiency and for debugging.\n\n\n\nOnline Boutique\n\nOnline Boutique is a sample cloud-native application, originally built by Google. It comprises of 10 microservices and can be used to showcase and work with Kubernetes, Istio, gRPC and OpenCensus. On deployment, it runs a web-based e-commerce demo application, an example of which can be seen below:"
					}




					,

					"installation-platforms-docker-extension": {
						"id": "installation-platforms-docker-extension",
						"title": "Docker Extension",
						"categories": "",
						"url": " /installation/platforms/docker-extension",
						"content": "Quick Start with Docker Extension \n\nDocker Extension for Meshery\n\nThe Docker Extension for Meshery extends Docker Desktop’s position as the cloud native developer’s go-to Kubernetes environment with easy access to the next layer of cloud native infrastructure: service meshes.\n\nUsing Docker Desktop\n\n1) Navigate to the Extensions Marketplace of Docker Desktop.\n\n2) From the Dashboard, select Add Extensions in the menu bar or open the Extensions Marketplace from the menu options.\n\n\n  \n\n\n3) Navigate to Meshery in the Marketplace and press install.\n\n\n  \n\n\nUsing Docker CLI\n\nMeshery runs as a set of containers inside your Docker Desktop virtual machine.\n\n\n \n docker extension install meshery/docker-extension-meshery"
					}




					,

					"installation-platforms-docker": {
						"id": "installation-platforms-docker",
						"title": "Docker",
						"categories": "",
						"url": " /installation/platforms/docker",
						"content": "Quick Start with Docker \n\nPrerequisites  \n\n1. Install the Meshery command line client, \n\n    mesheryctl\n.\n\n\nDeploying Meshery on Docker\n\nFollow these installation steps to use Docker and Docker Compose to run Meshery. Users often choose this installation approach in order to run Meshery on their local machine. If you need to install docker, see Getting Started with Docker and if you need to install docker-compose, see Installing Docker Compose.\n\nStart Meshery by executing:\n\n\n \n mesheryctl system start\n \n \n\n  Meshery server supports customizing authentication flow callback URL, which can be configured in the following way\n\n\n \n MESHERY_SERVER_CALLBACK_URL=https://custom-host mesheryctl system start\n \n \n\nOnce you have verified that all the services are up and running, Meshery UI will be accessible on your local machine on port 9081. Open your browser and access Meshery at http://localhost:9081. Log into the Provider of your choice.\n\nUpon starting Meshery successfully, instructions to access Meshery will be printed on the sceen. See these guides for usage tips."
					}




					,

					"es-installation-platforms-docker": {
						"id": "es-installation-platforms-docker",
						"title": "Docker",
						"categories": "",
						"url": " /es/installation/platforms/docker",
						"content": "Inicio rápido con Docker\n\nNota: se necesita un mínimo de 4 GB de RAM para los despliegues de Istio (y la aplicación de muestra BookInfo).\n\nPasos\n\nSiga estos pasos de instalación para usar Docker y Docker Compose para ejecutar Meshery. Los usuarios a menudo eligen abordar la instalación de esta manera para ejecutar Meshery en su máquina local. Si necesita instalar docker, consulte Introducción a Docker y si necesita instalar docker-compose, consulte Instalación de Docker Compose.\n\nEl repositorio de Meshery incluye un archivo docker-compose.yaml. Podemos usar docker-compose para activar todos los servicios de Meshery ejecutando:\n\n\n \n $ curl -L https://meshery.io/install | bash -\n \n \n\nUna vez que haya verificado que todos los servicios están en funcionamiento, la interfaz de usuario de Meshery será accesible en su máquina local en el puerto 9081. Abra su navegador y acceda a Meshery en http://localhost:9081.\nSe le redireccionará a una página de inicio de sesión social donde puede elegir uno de los métodos de inicio de sesión social disponibles para iniciar sesión en Meshery.\n\nAl iniciar Meshery correctamente, las instrucciones para acceder a Meshery se imprimirán en la pantalla. Eche un vistazo a las guías Meshery para obtener consejos de uso avanzados."
					}




					,

					"installation-platforms-eks": {
						"id": "installation-platforms-eks",
						"title": "EKS",
						"categories": "",
						"url": " /installation/platforms/eks",
						"content": "Quick Start with EKS \n\nPrerequisites  \n\n1. Install the Meshery command line client, \n\n    mesheryctl\n.\n\n\nSet up and run Meshery on EKS:\n\nThe following guide will help you in installing Meshery and making it work with EKS clusters.\nIn order to install Meshery, mesheryctl needs to access your EKS cluster. For this, you must have:\n\n\n  Any one of the aws CLIs, for managing EKS, installed and configured to use your resources.\n  A valid kubeconfig for your cluster.\n\n\nOnce you fulfil the above two requirements, you should be able to install Meshery:\n\n\n  Install Meshery into your EKS cluster\n  Install Meshery in Docker and connect it to your EKS cluster\n\n\nNote: It is advisable to Install Meshery into your EKS clusters\n\nInstall Meshery into your EKS cluster\n\nTo set the context to Kubernetes\n\n\n \n $ mesheryctl system context create [context-name] -p kubernetes -s\n \n \n\n\nExecute the following to start Meshery\n\n\n \n $ mesheryctl system start \n \n \n\n\nOptional Customize your Meshery Provider Callback URL\n\n\nMeshery Server supports customizing authentication flow callback URL, which can be configured in the following way\n \n \n $ MESHERY_SERVER_CALLBACK_URL=https://custom-host mesheryctl system start\n \n \n \nMeshery should now be running in your EKS cluster and Meshery UI should be accessible at the `EXTERNAL IP` of `meshery` service.\n\n\n\nAlso see: Install Meshery into Kubernetes\n\nInstall Meshery in Docker and connect it to your EKS cluster\n\nNote: Out-of-cluster support for EKS is still beta and on roadmap.\n\nInstall Meshery in Docker\n\n\n \n $ mesheryctl system start -p docker \n \n \n\n\nConfigure Meshery to connect to your cluster by executing:\n\n\n \n $ mesheryctl system config eks\n \n \n\nOnce you have verified that all the services are up and running, Meshery UI will be accessible on your local machine on port 9081. Open your browser and access Meshery at http://localhost:9081."
					}




					,

					"es-installation-platforms-eks": {
						"id": "es-installation-platforms-eks",
						"title": "EKS",
						"categories": "",
						"url": " /es/installation/platforms/eks",
						"content": "Inicio rápido con el Servicio Elastic Kubernetes de Amazon (EKS)\n\nPara brindar a Meshery el acceso necesario a su instancia de Kubernetes administrada,\nMeshery deberá tener asignada una ServiceAccount (Cuenta de servicio). Se puede utilizar una “ServiceAccount” existente o crear una nueva.\n\n\n  Asegúrese de que la ServiceAccount que utiliza tenga asignada la función cluster-admin.\n  Configure Meshery para que se ejecute en EKS:\n    \n      Configuración automática\n      Configuración manual\n    \n  \n\n\nNota: asegúrese de poder acceder a EKS con kubectl siguiendo la Guía de EKS.\n\nConfiguración automática (Recomendada)\n\n\n  En su navegador, navegue hasta Meshery (por ejemplo http://localhost:9081) e inicie sesión.\n  Descargue su token de autenticación de Meshery haciendo clic en Get Token en la sección de su perfil de usuario.\n  Utilice este token de autenticación para ejecutar el siguiente comando:\n    $ mesheryctl system config eks --token &lt;RUTA A ARCHIVO DE TOKEN&gt;\n    \n  \n\n\nEste comando actualiza su kubeconfig para proporcionar a Meshery acceso a su instancia administrada de Kubernetes.\nUna vez configurado, prosiga a utilizar Meshery (mesheryctl system start).\n\nConfiguración Manual(Opcional)\n\nSi el procedimiento de Configuración automática falla o si desea preparar manualmente su archivo kubeconfig para proveer a Meshery con el acceso necesario a su instancia administrada de Kubernetes, realice las siguientes acciones:\n\n\n  \n    Cree una ServiceAccount con el rol de cluster-admin\n\n    $ kubectl create serviceaccount meshery\n    \n  \n  \n    Agregando/Vinculando el rol cluster-admin a la nueva cuenta de servicio meshery\n\n    $ kubectl create clusterrolebinding meshery-binding --clusterrole=cluster-admin \\\n--serviceaccount=default:meshery\n    \n  \n  \n    Obtenga el nombre secreto de ServiceAccount.\n\n    $ kubectl get secrets\n\nNAME                           TYPE                                  DATA   AGE\ndefault-token-fnfjp            kubernetes.io/service-account-token   3      95d\nmeshery-token-5z9xj               kubernetes.io/service-account-token   3      66m\n    \n\n    Nota: Aquí el nombre secreto es meshery-token-5z9xj\n  \n  \n    Obtenga el secreto/token:\n\n    $ kubectl describe secret  sa-1-token-5z9xj\nName:         meshery-token-5z9xj\nNamespace:    default\nLabels:       &lt;none&gt;\nAnnotations:  kubernetes.io/service-account.name: meshery\n              kubernetes.io/service-account.uid: 397XXX-XXX-XXXX-XXXXX-XXXXX\n\nType:  kubernetes.io/service-account-token\n\nData\n====\nca.crt:     1025 bytes\nnamespace:  7 bytes\ntoken:      XXXhbGciOiJSUXXXX\n    \n  \n  Genere un nuevo archivo yaml kubeconfig a usar como entrada para Meshery.\n  \n    Establezca las Credential de configuración usando el token generado anteriormente.\n\n    $ kubectl config set-credentials meshery --token=XXXXX\n\no/p:User \"meshery\" set.\n    \n  \n  \n    Establezca el contexto actual para la nueva cuenta de servicio meshery\n\n    $ kubectl config set-context --current --user=meshery\n\no/p:\nContext \"aws\" modified.\n    \n  \n  \n    Genere el archivo yaml kubeconfig para usar como entrada a Meshery.\n\n    $ kubectl config view --minify --flatten &gt;  config_aws_eks.yaml\n    \n  \n\n\nMeshery ahora debería estar conectado con su instancia administrada de Kubernetes. Eche un vistazo a las Guías Meshery para ver más consejos de uso avanzados."
					}




					,

					"reference-error-codes": {
						"id": "reference-error-codes",
						"title": "Error Code Reference",
						"categories": "",
						"url": " /reference/error-codes",
						"content": "Error Codes and Troubleshooting\n\nMeshery and it’s components use a common framework (defined within MeshKit) to generate and document an error with a unique identifier - an error code. Each error code identifies the source component for the error and a standard set of information to describe the error and provide helpful details for troubleshooting the situation surrounding the specific error.\n\nError Code Categories by Component\n\n\n\n  \n    Component Type\n    Component Name\n  \n\n\n  \n    \n      \n          \n           \n            \n      \n    \n      \n          \n           \n             \n            \n            \n              component\n              meshery-server\n            \n        \n      \n    \n  \n    \n      \n          \n           \n            \n      \n    \n      \n          \n           \n             \n            \n            \n              adapter\n              meshery-linkerd\n            \n        \n      \n    \n  \n    \n      \n          \n           \n            \n      \n    \n      \n          \n           \n             \n            \n            \n              adapter\n              meshery-consul\n            \n        \n      \n    \n  \n    \n      \n          \n           \n            \n      \n    \n      \n          \n           \n             \n            \n            \n              adapter\n              meshery-kuma\n            \n        \n      \n    \n  \n    \n      \n          \n           \n            \n      \n    \n      \n          \n           \n             \n            \n            \n              adapter\n              meshery-osm\n            \n        \n      \n    \n  \n    \n      \n          \n           \n            \n      \n    \n      \n          \n           \n             \n            \n            \n              adapter\n              meshery-istio\n            \n        \n      \n    \n  \n    \n      \n          \n           \n            \n      \n    \n      \n          \n           \n             \n            \n            \n              client\n              mesheryctl\n            \n        \n      \n    \n  \n    \n      \n          \n           \n            \n      \n    \n      \n          \n           \n             \n            \n            \n              adapter\n              meshery-nginx-sm\n            \n        \n      \n    \n  \n    \n      \n          \n           \n            \n      \n    \n      \n          \n           \n             \n            \n            \n              adapter\n              nsm\n            \n        \n      \n    \n  \n    \n      \n          \n           \n            \n      \n    \n      \n          \n           \n             \n            \n            \n              library\n              meshkit\n            \n        \n      \n    \n  \n    \n      \n          \n           \n            \n      \n    \n      \n          \n           \n             \n            \n            \n              adapter\n              meshery-traefik-mesh\n            \n        \n      \n    \n  \n    \n      \n          \n           \n            \n      \n    \n      \n          \n           \n             \n            \n            \n              adapter\n              cilium\n            \n        \n      \n    \n  \n    \n      \n          \n           \n            \n      \n    \n      \n          \n           \n             \n            \n            \n              library\n              meshery-adapter-library\n            \n        \n      \n    \n  \n\n\n\n\n\n \n                Meshery Server\n               \n\n  \n    \n      Error Name Error Code\n      Severity\n      Short Description\n    \n  \n  \n    \n           \n        \n          \n            \n            ErrInvalidRequestCode\n             1000 \n          \n          \n          \n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrNilClientCode\n             1001 \n          \n          Alert\n          Kubernetes client not initialized\n        \n        \n          \n              Probable Cause:Kubernetes config is not accessible to meshery or not valid\n          \n          \n            Suggested Remediation:Upload your kubernetes config via the settings dashboard. If uploaded, wait for a minute for it to get initialized\n          \n          \n          Long Description:\n          Kubernetes config is not initialized with Meshery\n        \n    \n           \n        \n          \n            \n            ErrCreateDataCode\n             1002 \n          \n          \n          \n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrQueryCode\n             1003 \n          \n          Alert\n          Error while querying data\n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          Invalid Query performed in Meshery Database\n        \n    \n           \n        \n          \n            \n            ErrMeshsyncSubscriptionCode\n             1004 \n          \n          Alert\n          MeshSync Subscription failed\n        \n        \n          \n              Probable Cause:Could be a network issue\n          \n          \n            Suggested Remediation:Check if meshery server is reachable from the browser\n          \n          \n          Long Description:\n          GraphQL subscription for MeshSync stopped\n        \n    \n           \n        \n          \n            \n            ErrOperatorSubscriptionCode\n             1005 \n          \n          \n          \n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrAddonSubscriptionCode\n             1006 \n          \n          \n          \n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrControlPlaneSubscriptionCode\n             1007 \n          \n          \n          \n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrMesheryClientCode\n             1008 \n          \n          \n          \n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrSubscribeChannelCode\n             1009 \n          \n          Alert\n          Unable to subscribe to channel\n        \n        \n          \n              Probable Cause:Could be a network issue\nMeshery Broker could have crashed\n          \n          \n            Suggested Remediation:Check if Meshery Broker is reachable from Meshery Server\nCheck if Meshery Broker is up and running inside the configured cluster\n          \n          \n          Long Description:\n          Unable to create a broker subscription\n        \n    \n           \n        \n          \n            \n            ErrPublishBrokerCode\n             1010 \n          \n          Alert\n          Unable to publish to broker\n        \n        \n          \n              Probable Cause:Could be a network issue\nMeshery Broker could have crashed\n          \n          \n            Suggested Remediation:Check if Meshery Broker is reachable from Meshery Server\nCheck if Meshery Broker is up and running inside the configured cluster\n          \n          \n          Long Description:\n          Unable to create a broker publisher\n        \n    \n           \n        \n          \n            \n            ErrNoMeshSyncCode\n             1011 \n          \n          Alert\n          Database handler not initialized\n        \n        \n          \n              Probable Cause:Meshery Database is crashed or not reachable\n          \n          \n            Suggested Remediation:Restart Meshery Server\nPlease check if Meshery server is accessible to the Database\n          \n          \n          Long Description:\n          Meshery Database handler is not accessible to perform operations\n        \n    \n           \n        \n          \n            \n            ErrNoExternalEndpointCode\n             1012 \n          \n          \n          \n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrDataPlaneSubscriptionCode\n             1013 \n          \n          Alert\n          Data Plane Subscription failed\n        \n        \n          \n              Probable Cause:Could be a network issue\n          \n          \n            Suggested Remediation:Check if meshery server is reachable from the browser\n          \n          \n          Long Description:\n          GraphQL subscription for Data Plane stopped\n        \n    \n           \n        \n          \n            \n            ErrGettingNamespaceCode\n             1014 \n          \n          Alert\n          Cannot get available namespaces\n        \n        \n          \n              Probable Cause:The table in the database might not exist\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrFetchingPatternsCode\n             1015 \n          \n          Alert\n          Cannot fetch patterns\n        \n        \n          \n              Probable Cause:There might be something wrong with the Meshery or Meshery Cloud\n          \n          \n            Suggested Remediation:Try again, if still exist, please post an issue on Meshery repository\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrInvalidK8SConfigCode\n             2000 \n          \n          \n          \n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrNilClientCode\n             2001 \n          \n          Alert\n          Kubernetes client not initialized\n        \n        \n          \n              Probable Cause:Kubernetes config is not accessible to meshery or not valid\n          \n          \n            Suggested Remediation:Upload your kubernetes config via the settings dashboard. If uploaded, wait for a minute for it to get initialized\n          \n          \n          Long Description:\n          Kubernetes config is not initialized with Meshery\n        \n    \n           \n        \n          \n            \n            ErrPrometheusScanCode\n             2002 \n          \n          Alert\n          Unable to connect to prometheus\n        \n        \n          \n              Probable Cause:Prometheus endpoint might not be reachable from meshery\nPrometheus endpoint is incorrect\n          \n          \n            Suggested Remediation:Check if your Prometheus and Grafana Endpoint are correct\nConnect to Prometheus and Grafana from the settings page in the UI\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrGrafanaScanCode\n             2003 \n          \n          Alert\n          Unable to connect to grafana\n        \n        \n          \n              Probable Cause:Grafana endpoint might not be reachable from meshery\nGrafana endpoint is incorrect\n          \n          \n            Suggested Remediation:Check if your Grafana Endpoint is correct\nConnect to Grafana from the settings page in the UI\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrRecordPreferencesCode\n             2004 \n          \n          Alert\n          unable to save user config data\n        \n        \n          \n              Probable Cause:User token might be invalid\ndb might be corrupted\n          \n          \n            Suggested Remediation:Relogin to Meshery\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrGrafanaConfigCode\n             2005 \n          \n          Alert\n          Grafana endpoint not configured\n        \n        \n          \n              Probable Cause:Grafana endpoint might not be reachable from meshery\n          \n          \n            Suggested Remediation:Setup your Grafana Endpoint via the settings dashboard\n          \n          \n          Long Description:\n          Cannot find valid grafana endpoint in user pref\n        \n    \n           \n        \n          \n            \n            ErrPrometheusConfigCode\n             2006 \n          \n          Alert\n          Prometheus endpoint not configured\n        \n        \n          \n              Probable Cause:Prometheus endpoint might not be reachable from meshery\n          \n          \n            Suggested Remediation:Setup your Prometheus Endpoint via the settings dashboard\n          \n          \n          Long Description:\n          Cannot find valid Prometheus endpoint in user pref\n        \n    \n           \n        \n          \n            \n            ErrGrafanaQueryCode\n             2007 \n          \n          Alert\n          Unable to query grafana\n        \n        \n          \n              Probable Cause:Grafana query did not get executed from meshery\nGrafana query is invalid\n          \n          \n            Suggested Remediation:Check if your Grafana query is correct\nConnect to Grafana from the settings page in the UI\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrPrometheusQueryCode\n             2008 \n          \n          Alert\n          Unable to query prometheus\n        \n        \n          \n              Probable Cause:Prometheus query did not get executed from meshery\nPrometheus query is invalid\n          \n          \n            Suggested Remediation:Check if your Prometheus query is correct\nConnect to Prometheus and Grafana from the settings page in the UI\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrGrafanaBoardsCode\n             2009 \n          \n          \n          \n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrPrometheusBoardsCode\n             2010 \n          \n          \n          \n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrStaticBoardsCode\n             2011 \n          \n          Alert\n          unable to get static board\n        \n        \n          \n              Probable Cause:No boards could be available in grafana\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          unable to get static board\n        \n    \n           \n        \n          \n            \n            ErrRequestBodyCode\n             2012 \n          \n          \n          \n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrMarshalCode\n             2013 \n          \n          \n          \n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrUnmarshalCode\n             2014 \n          \n          \n          \n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrEncodingCode\n             2015 \n          \n          \n          \n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrParseBoolCode\n             2016 \n          \n          Alert\n          unable to parse : \n        \n        \n          \n              Probable Cause:Failed due to invalid value of : \n          \n          \n            Suggested Remediation:please provide a valid value for : \n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrStreamEventsCode\n             2017 \n          \n          Alert\n          There was an error connecting to the backend to get events\n        \n        \n          \n              Probable Cause:Websocket is blocked in the network\nMeshery UI is not able to reach the Meshery server\n          \n          \n            Suggested Remediation:Ensure Meshery UI is able to reach the Meshery server\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrStreamClientCode\n             2018 \n          \n          Alert\n          Event streaming ended\n        \n        \n          \n              Probable Cause:Websocket is blocked in the network\nMeshery UI is not able to reach the Meshery server\n          \n          \n            Suggested Remediation:Ensure Meshery UI is able to reach the Meshery server\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrUnmarshalEventCode\n             2019 \n          \n          \n          \n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrPublishSmiResultsCode\n             2020 \n          \n          Alert\n          Error publishing SMI results\n        \n        \n          \n              Probable Cause:Meshery Cloud is not functional or reachable\n          \n          \n            Suggested Remediation:Make sure meshery cloud is up and reachable\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrMarshalEventCode\n             2021 \n          \n          \n          \n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrPluginOpenCode\n             2022 \n          \n          Alert\n          Error opening the plugin\n        \n        \n          \n              Probable Cause:Plugin is not available in the location\nplugin does not match with meshery version\n          \n          \n            Suggested Remediation:Make sure the plugin is compatible with Meshery server\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrPluginLookupCode\n             2023 \n          \n          Alert\n          Error performing a plugin lookup\n        \n        \n          \n              Probable Cause:Plugin is not available in the location\n          \n          \n            Suggested Remediation:Make sure the plugin is compatible with Meshery server\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrPluginRunCode\n             2024 \n          \n          Alert\n          Error running meshery plugin\n        \n        \n          \n              Probable Cause:plugin does not match with meshery version\n          \n          \n            Suggested Remediation:Make sure the plugin is compatible with Meshery server\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrParseFormCode\n             2025 \n          \n          Alert\n          unable to parse form\n        \n        \n          \n              Probable Cause:The data provided could be invalid\n          \n          \n            Suggested Remediation:Make sure to enter valid parameters in the form\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrQueryGetCode\n             2026 \n          \n          Alert\n          unable to get: \n        \n        \n          \n              Probable Cause:Query parameter is not a part of the request\n          \n          \n            Suggested Remediation:Make sure to pass the query paramater in the request\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrGetResultCode\n             2027 \n          \n          Alert\n          unable to get result\n        \n        \n          \n              Probable Cause:Result Identifier provided is not valid\nResult did not persist in the database\n          \n          \n            Suggested Remediation:Make sure to provide the correct identifier for the result\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrConvertToSpecCode\n             2028 \n          \n          Alert\n          unable to convert to spec\n        \n        \n          \n              Probable Cause:The performance spec format is invalid\n          \n          \n            Suggested Remediation:Make sure to provide the correct spec\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrFetchSMIResultsCode\n             2029 \n          \n          Alert\n          unable to fetch SMI results\n        \n        \n          \n              Probable Cause:SMI results did not get persisted\nResult identifier is invalid\n          \n          \n            Suggested Remediation:Make sure to provide the correct identifier for the result\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrFormFileCode\n             2030 \n          \n          Alert\n          error getting k8s file\n        \n        \n          \n              Probable Cause:The kubeconfig file does not exist in the location\n          \n          \n            Suggested Remediation:Make sure to upload the correct kubeconfig file\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrReadConfigCode\n             2031 \n          \n          Alert\n          error reading config\n        \n        \n          \n              Probable Cause:The kubeconfig file is empty or not valid\n          \n          \n            Suggested Remediation:Make sure to upload the correct kubeconfig file\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrLoadConfigCode\n             2032 \n          \n          Alert\n          unable to load kubernetes config\n        \n        \n          \n              Probable Cause:The kubeconfig file is empty or not valid\n          \n          \n            Suggested Remediation:Make sure to upload the correct kubeconfig file\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrOpenFileCode\n             2033 \n          \n          Alert\n          unable to open file: \n        \n        \n          \n              Probable Cause:The file does not exist in the location\n          \n          \n            Suggested Remediation:Make sure to upload the correct file\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrKubeVersionCode\n             2034 \n          \n          Alert\n          unable to get kubernetes version\n        \n        \n          \n              Probable Cause:Kubernetes might not be reachable from meshery\n          \n          \n            Suggested Remediation:Make sure meshery has connectivity to kubernetes\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrAddAdapterCode\n             2035 \n          \n          Alert\n          meshLocationURL is empty\n        \n        \n          \n              Probable Cause:meshLocationURL cannot be empty to add an adapter\n          \n          \n            Suggested Remediation:please provide the meshLocationURL\n          \n          \n          Long Description:\n          meshLocationURL is empty to add an adapter\n        \n    \n           \n        \n          \n            \n            ErrRetrieveDataCode\n             2036 \n          \n          Alert\n          Unable to retrieve the requested data\n        \n        \n          \n              Probable Cause:Adapter operation invalid\n          \n          \n            Suggested Remediation:Make sure adapter is reachable and running\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrValidAdapterCode\n             2037 \n          \n          Alert\n          Unable to find valid Adapter URL\n        \n        \n          \n              Probable Cause:Given adapter URL is not valid\n          \n          \n            Suggested Remediation:Please provide a valid Adapter URL\n          \n          \n          Long Description:\n          unable to find a valid adapter for the given adapter URL\n        \n    \n           \n        \n          \n            \n            ErrOperationIDCode\n             2038 \n          \n          Alert\n          Error generating the operation Id\n        \n        \n          \n              Probable Cause:Adapter operation invalid\n          \n          \n            Suggested Remediation:Make sure adapter is reachable and running\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrMeshClientCode\n             2039 \n          \n          Alert\n          Error creating a mesh client\nError pinging the mesh adapter\n        \n        \n          \n              Probable Cause:Adapter could not be pinged\n          \n          \n            Suggested Remediation:Unable to connect to the Mesh adapter using the given config, please try again\n          \n          \n          Long Description:\n          Unable to create a mesh client\nUnable to ping the mesh adapter\n        \n    \n           \n        \n          \n            \n            ErrApplyChangeCode\n             2040 \n          \n          Alert\n          Error applying the change\n        \n        \n          \n              Probable Cause:Adapter operation invalid\n          \n          \n            Suggested Remediation:Make sure adapter is reachable and running\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrRetrieveMeshDataCode\n             2041 \n          \n          Alert\n          Error getting operations for the mesh\nError getting service mesh name\n        \n        \n          \n              Probable Cause:unable to retrieve the requested data\n          \n          \n            Suggested Remediation:Make sure adapter is reachable and running\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrApplicationFailureCode\n             2042 \n          \n          Alert\n          failed to \nthe application\n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrDecodingCode\n             2043 \n          \n          Alert\n          Error decoding the : \n        \n        \n          \n              Probable Cause:Object is not a valid json object\n          \n          \n            Suggested Remediation:Make sure if the object passed is a valid json\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrRetrieveUserTokenCode\n             2044 \n          \n          Alert\n          Failed to get the user token\n        \n        \n          \n              Probable Cause:User token could be expired\n          \n          \n            Suggested Remediation:Re-initiate login\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrFailToSaveCode\n             2045 \n          \n          Alert\n          Failed to Save: \n        \n        \n          \n              Probable Cause:Meshery Database could be down or not reachable\n          \n          \n            Suggested Remediation:Restart Meshery instance and make sure database is up and reachable\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrFailToDeleteCode\n             2046 \n          \n          Alert\n          Failed to Delete: \n        \n        \n          \n              Probable Cause:Meshery Database could be down or not reachable\n          \n          \n            Suggested Remediation:Restart Meshery instance and make sure database is up and reachable\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrErrNewDynamicClientGeneratorCode\n             2048 \n          \n          Alert\n          Unable to generate the dynamic client generator\n        \n        \n          \n              Probable Cause:Kubernetes config is not accessible to meshery or not valid\n          \n          \n            Suggested Remediation:Upload your kubernetes config via the settings dashboard. If uploaded, wait for a minute for it to get initialized\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrInvalidK8SConfigCode\n             2049 \n          \n          \n          \n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrClientConfigCode\n             2050 \n          \n          \n          \n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrFetchKubernetesNodesCode\n             2051 \n          \n          Alert\n          Unable to fetch kubernetes nodes\n        \n        \n          \n              Probable Cause:Kubernetes API server might not be reachable from the Meshery server\n          \n          \n            Suggested Remediation:Make sure kubernetes API server is reachable from meshery server\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrInvalidLTURLCode\n             2053 \n          \n          Alert\n          invalid loadtest url: \n        \n        \n          \n              Probable Cause:URL for load test could be invalid\n          \n          \n            Suggested Remediation:please refer to:  https://docs.meshery.io/guides/mesheryctl#performance-management\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrGrafanaClientCode\n             2073 \n          \n          Alert\n          Unable to initialize Grafana Client\n        \n        \n          \n              Probable Cause:Invalid Grafana Endpoint or API-Key\n          \n          \n            Suggested Remediation:Update your Grafana URL and API-Key from the settings page in the UI\n          \n          \n          Long Description:\n          Unable to initializes client for interacting with an instance of Grafana server\n        \n    \n           \n        \n          \n            \n            ErrPageSizeCode\n             2074 \n          \n          Alert\n          Unable to prase the Page Size\n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrPageNumberCode\n             2075 \n          \n          Alert\n          Unable to prase the Page Numer\n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrResultIDCode\n             2076 \n          \n          Alert\n          Given resultID is not valid\n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          Given resultID is nil\n        \n    \n           \n        \n          \n            \n            ErrPerfIDCode\n             2077 \n          \n          Alert\n          Invalid peformance profile ID\n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrMarshalCode\n             2078 \n          \n          \n          \n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrUnmarshalCode\n             2079 \n          \n          \n          \n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrGenerateUUIDCode\n             2080 \n          \n          Alert\n          Unable to generate a new UUID\n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrLocalProviderSupportCode\n             2081 \n          \n          Alert\n          Method not supported by local provider\n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrGrafanaOrgCode\n             2082 \n          \n          Alert\n          Failed to get Org data from Grafana\n        \n        \n          \n              Probable Cause:Invalid URL\nInvalid API-Key\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrGrafanaBoardsCode\n             2083 \n          \n          \n          \n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrGrafanaDashboardCode\n             2084 \n          \n          Alert\n          Error getting grafana dashboard from UID\n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrGrafanaDataSourceCode\n             2085 \n          \n          Alert\n          Error getting Grafana Board's Datasource\n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrNilQueryCode\n             2086 \n          \n          Alert\n          Query data passed is nil\n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrGrafanaDataCode\n             2087 \n          \n          Alert\n          Error getting data from Grafana API\n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrApplicationFileNameCode\n             2088 \n          \n          Alert\n          Invalid Applicationfile\n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          Name field is either not present or is not valid\n        \n    \n           \n        \n          \n            \n            ErrFilterFileNameCode\n             2089 \n          \n          Alert\n          Invalid Filterfile\n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          Name field is either not present or is not valid\n        \n    \n           \n        \n          \n            \n            ErrPatternFileNameCode\n             2090 \n          \n          Alert\n          Invalid Patternfile\n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          Name field is either not present or is not valid\n        \n    \n           \n        \n          \n            \n            ErrMakeDirCode\n             2091 \n          \n          Alert\n          Unable to create directory/folder\n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrFolderStatCode\n             2092 \n          \n          Alert\n          Unable to find (os.stat) the folder\n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrUserIDCode\n             2093 \n          \n          Alert\n          User ID is empty\n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrDBConnectionCode\n             2094 \n          \n          Alert\n          Connection to DataBase does not exist\n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrNilConfigDataCode\n             2095 \n          \n          Alert\n          Given config data is nil\n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrDBOpenCode\n             2096 \n          \n          Alert\n          Unable to open the database\n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrDBRLockCode\n             2097 \n          \n          Alert\n          Unable to obtain read lock from bitcask store\n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrDBLockCode\n             2098 \n          \n          Alert\n          Unable to obtain write lock from bitcask store\n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrDBReadCode\n             2099 \n          \n          Alert\n          Unable to read data from bitcast store\n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrDBDeleteCode\n             2100 \n          \n          Alert\n          Unable to delete config data for the user\n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrCopyCode\n             2101 \n          \n          Alert\n          Error occurred while copying\n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrDBPutCode\n             2102 \n          \n          Alert\n          Unable to Persist config data.\n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrPrometheusGetNodesCode\n             2103 \n          \n          Alert\n          Prometheus Client unable to get all nodes\n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrPrometheusLabelSeriesCode\n             2104 \n          \n          Alert\n          Unable to get the label set series\n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrPrometheusQueryRangeCode\n             2105 \n          \n          Alert\n          Unable to fetch data for the query\n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrPrometheusStaticBoardCode\n             2106 \n          \n          Alert\n          Unbale to get Static Boards\n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrTokenRefreshCode\n             2107 \n          \n          Alert\n          Error occurred while Refresing the token\n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrGetTokenCode\n             2108 \n          \n          Alert\n          Error occurred while getting token from the Browser Cookie\n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrDataReadCode\n             2109 \n          \n          Alert\n          Eeror occurred while reading from the Reader\n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrTokenDecodeCode\n             2110 \n          \n          Alert\n          Error occurred while Decoding Token Data\n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrNilJWKsCode\n             2111 \n          \n          Alert\n          Invalid JWks\n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          Value of JWKs is nil\n        \n    \n           \n        \n          \n            \n            ErrNilKeysCode\n             2112 \n          \n          Alert\n          Key not found\n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          JWK not found for the given KeyID\n        \n    \n           \n        \n          \n            \n            ErrTokenExpiredCode\n             2113 \n          \n          Alert\n          Token has expired\n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          Token is invalid, it has expired\n        \n    \n           \n        \n          \n            \n            ErrTokenClaimsCode\n             2114 \n          \n          Alert\n          Error occurred while prasing claims\n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrTokenClientCheckCode\n             2115 \n          \n          Alert\n          Error occurred while performing token check HTTP request\n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrTokenPraseCode\n             2116 \n          \n          Alert\n          Error occurred while Prasing and validating the token\n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrJWKsKeysCode\n             2117 \n          \n          Alert\n          Unable to fetch JWKs keys from the remote provider\n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrDecodeBase64Code\n             2118 \n          \n          Alert\n          Error occurred while decoding base65 string\n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrMarshalPKIXCode\n             2119 \n          \n          Alert\n          Error occurred while marshaling PKIX\n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrEncodingPEMCode\n             2120 \n          \n          Alert\n          Error occurred while encoding jwk to pem\n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrPraseUnverifiedCode\n             2121 \n          \n          Alert\n          Error occurred while prasing tokens (unverified)\n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrEncodingCode\n             2122 \n          \n          \n          \n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrFetchCode\n             2123 \n          \n          Alert\n          Unable to fetch data from the Provider\n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrPostCode\n             2124 \n          \n          Alert\n          Unable to post data to the Provider\n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrDeleteCode\n             2125 \n          \n          Alert\n          Unable to delete data from the Provider\n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrInvalidCapabilityCode\n             2126 \n          \n          Alert\n          Capablity is not supported by your Provider\n        \n        \n          \n              Probable Cause:Not logged in to the vaild remote Provider\n          \n          \n            Suggested Remediation:Connect to the vaild remote Provider\nAsk the Provider Adim for access\n          \n          \n          Long Description:\n          You dont have access to the capability\n        \n    \n           \n        \n          \n            \n            ErrResultDataCode\n             2127 \n          \n          Alert\n          given result data is nil\n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrUnableToPersistsResultCode\n             2128 \n          \n          Alert\n          unable to persists the result data\n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrValidURLCode\n             2129 \n          \n          Alert\n          Enter valid URLs\n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrTestEndpointCode\n             2130 \n          \n          Alert\n          minimum one test endpoint needs to be specified\n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrLoadgeneratorCode\n             2131 \n          \n          Alert\n          specify valid Loadgenerator\n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrProtocolCode\n             2132 \n          \n          Alert\n          specify the Protocol for all clients\n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrTestClientCode\n             2133 \n          \n          Alert\n          minimum one test client needs to be specified\n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrParsingTestCode\n             2134 \n          \n          Alert\n          error parsing test duration, please refer to: https://docs.meshery.io/guides/mesheryctl#performance-management\n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrFieldCode\n             2135 \n          \n          Alert\n          Error: name field is blank\n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrSaveSessionCode\n             2136 \n          \n          Alert\n          unable to save session\n        \n        \n          \n              Probable Cause:User session could be expired\n          \n          \n            Suggested Remediation:Re-initiate login\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrDataSendCode\n             2137 \n          \n          \n          \n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrVersionCompareCode\n             2138 \n          \n          \n          \n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrKubeClientCode\n             2139 \n          \n          Alert\n          Failed to Create Kube Client\n        \n        \n          \n              Probable Cause:Check Kubernetes\n          \n          \n            Suggested Remediation:Check your kubeconfig if valid\nEnsure meshery is able to reach the kubernetes cluster\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrWorkloadDefinitionCode\n             2140 \n          \n          Alert\n          Failed to load Workload Definition\n        \n        \n          \n              Probable Cause:Workload Definition is invalid or unable to process\n          \n          \n            Suggested Remediation:Check Workload Definition\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrTraitDefinitionCode\n             2141 \n          \n          Alert\n          Failed to Encode Trait Definition\n        \n        \n          \n              Probable Cause:Trait Definition is invalid or unable to process\n          \n          \n            Suggested Remediation:Check Trait Definition\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrScopeDefinitionCode\n             2142 \n          \n          Alert\n          Failed to Encode Scope Definition\n        \n        \n          \n              Probable Cause:Trait Definition is invalid or unable to process\n          \n          \n            Suggested Remediation:Check Trait Definition\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrPatternFileCode\n             2143 \n          \n          Alert\n          Failed to Parse Pattern File\n        \n        \n          \n              Probable Cause:Trait Definition is invalid or unable to process\n          \n          \n            Suggested Remediation:Check Trait Definition\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrExecutionPlanCode\n             2144 \n          \n          Alert\n          Failed to Create Execution Plan\n        \n        \n          \n              Probable Cause:Trait Definition is invalid or unable to process\n          \n          \n            Suggested Remediation:Check Trait Definition\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrInvalidPatternCode\n             2145 \n          \n          Alert\n          Invalid Pattern, execution is infeasible\n        \n        \n          \n              Probable Cause:Trait Definition is invalid or unable to process\n          \n          \n            Suggested Remediation:Check Trait Definition\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrCompConfigPairsCode\n             2146 \n          \n          \n          \n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrFetchDataCode\n             2147 \n          \n          Alert\n          unable to fetch result data\n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrIndexOutOfRangeCode\n             2148 \n          \n          Alert\n          Error: index out of range\n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrSessionCopyCode\n             2149 \n          \n          Alert\n          Error: session copy error\n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrCreateDirCode\n             2150 \n          \n          \n          \n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrInvalidRequestObjectCode\n             2151 \n          \n          \n          \n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrChangeK8sContextCode\n             2152 \n          \n          \n          \n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrApplyHelmChartCode\n             2155 \n          \n          Alert\n          Error occurred while applying Helm Chart\n        \n        \n          \n              Probable Cause:Kubernetes cluster might not be connected\nLeftover resources from partial install\n          \n          \n            Suggested Remediation:Try reinstalling\nTry reconnecting your kubernetes cluster\nClean up artifacts from preinstalled helm release manually\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrGetFilterCode\n             2156 \n          \n          Alert\n          Error failed to get filter\n        \n        \n          \n              Probable Cause:Cannot get the filter with the given Filter ID\n          \n          \n            Suggested Remediation:Check if the given Filter ID is correct\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrSaveFilterCode\n             2157 \n          \n          Alert\n          Error failed to save filter\n        \n        \n          \n              Probable Cause:Cannot save the Filter due to wrong path or URL\n          \n          \n            Suggested Remediation:Check if the given path or URL of the filter is correct\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrDecodeFilterCode\n             2158 \n          \n          Alert\n          Error failed to decode filters data into go slice\n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrEncodeFilterCode\n             2159 \n          \n          Alert\n          Error failed to encode filter\n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrImportFilterCode\n             2160 \n          \n          Alert\n          Error failed to import filter\n        \n        \n          \n              Probable Cause:Cannot save the Filter due to wrong path or URL\n          \n          \n            Suggested Remediation:Check if the given path or URL of the Filter is correct\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrFetchFilterCode\n             2161 \n          \n          Alert\n          Error failed to fetch filter\n        \n        \n          \n              Probable Cause:Failed to retrieve the list of all the Filters\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrDeleteFilterCode\n             2162 \n          \n          Alert\n          Error failed to delete filter\n        \n        \n          \n              Probable Cause:Failed to delete Filter with the given ID\n          \n          \n            Suggested Remediation:Check if the Filter ID is correct\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrSavePatternCode\n             2163 \n          \n          Alert\n          Error failed to save pattern\n        \n        \n          \n              Probable Cause:Cannot save the Pattern due to wrong path or URL\n          \n          \n            Suggested Remediation:Check if the given path or URL of the Pattern is correct\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrGetPatternCode\n             2164 \n          \n          Alert\n          Error failed to get pattern\n        \n        \n          \n              Probable Cause:Cannot get the Pattern with the given Pattern ID\n          \n          \n            Suggested Remediation:Check if the given Pattern ID is correct\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrDeletePatternCode\n             2165 \n          \n          Alert\n          Error failed to delete pattern\n        \n        \n          \n              Probable Cause:Failed to delete Pattern with the given ID\n          \n          \n            Suggested Remediation:Check if the Pattern ID is correct\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrFetchPatternCode\n             2166 \n          \n          Alert\n          Error failed to fetch pattern\n        \n        \n          \n              Probable Cause:Failed to retrieve the list of all the Patterns\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrImportPatternCode\n             2167 \n          \n          Alert\n          Error failed to import pattern\n        \n        \n          \n              Probable Cause:Cannot save the Pattern due to wrong path or URL\n          \n          \n            Suggested Remediation:Check if the given path or URL of the Pattern is correct\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrEncodePatternCode\n             2168 \n          \n          Alert\n          Error failed to encode pattern\n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrDecodePatternCode\n             2169 \n          \n          Alert\n          Error failed to decode patterns data into go slice\n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrParsePatternCode\n             2170 \n          \n          Alert\n          Error failed to parse pattern file\n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrConvertPatternCode\n             2171 \n          \n          Alert\n          Error failed to convert PatternFile to Cytoscape object\n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrSavingUserPreferenceCode\n             2172 \n          \n          Alert\n          Error saving user preference.\n        \n        \n          \n              Probable Cause:Invalid data passed\nUnable to connect with provider\n          \n          \n            Suggested Remediation:Pass valid values for preferences\nMake sure provider supports saving user preferences\nMake sure you're connected with provider\nMake sure extension provides these preferences\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrMesheryInstanceIDCode\n             2173 \n          \n          \n          \n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrInvalidKubeConfigCode\n             2174 \n          \n          Alert\n          Invalid Kube Config \n        \n        \n          \n              Probable Cause:Meshery handler failed to find a valid kubernetes config for the deployment\n          \n          \n            Suggested Remediation:Try uploading a new kubeconfig and also ensure that meshery can reach kubernetes API server\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrInvalidKubeHandlerCode\n             2175 \n          \n          Alert\n          Invalid Kube Handler\n        \n        \n          \n              Probable Cause:Meshery handler failed to find a valid kubernetes handler for the deployment\n          \n          \n            Suggested Remediation:Try uploading a new kubeconfig and also ensure that meshery can reach kubernetes API server\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrInvalidKubeContextCode\n             2176 \n          \n          Alert\n          Invalid Kube Context\n        \n        \n          \n              Probable Cause:Meshery handler failed to find a valid kubernetes context for the deployment\n          \n          \n            Suggested Remediation:Try uploading a new kubeconfig and also ensure that meshery can reach kubernetes API server\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrCreatingKubernetesComponentsCode\n             2177 \n          \n          Alert\n          \n        \n        \n          \n              Probable Cause:component generation was canceled due to deletion or reload of K8s context\nInvalid kubeconfig\nFilters passed incorrectly in config\nCould not fetch API resources from Kubernetes server\n          \n          \n            Suggested Remediation:If there is the log \\\"Starting to register ...\\\" for the same contextID after this error means that for some reason the context was reloaded which caused this run to abort. In that case, this error can be ignored.\nMake sure that the configuration filters passed are in accordance with output from /openapi/v2\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrInvalidOAMTypeCode\n             2178 \n          \n          \n          \n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrKubectlDescribeCode\n             2179 \n          \n          \n          \n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrEmptyCurrentK8sContextCode\n             2180 \n          \n          Alert\n          Current kubernetes context is empty\n        \n        \n          \n              Probable Cause:Meshery is crashed or not reachable\n          \n          \n            Suggested Remediation:Restart Meshery Server\nPlease check if Meshery server is accessible to the Database\n          \n          \n          Long Description:\n          Meshery is not able to get the current kubernetes context\n        \n    \n           \n        \n          \n            \n            ErrFetchNodesCode\n             2181 \n          \n          Alert\n          Unable to get the list of nodes\n        \n        \n          \n              Probable Cause:Kubernetes API server might not be reachable from the Meshery server\n          \n          \n            Suggested Remediation:Make sure kubernetes API server is reachable from meshery server\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrFetchKubernetesVersionCode\n             2182 \n          \n          Alert\n          Unable to fetch kubernetes version\n        \n        \n          \n              Probable Cause:Kubernetes API server might not be reachable from the Meshery server\n          \n          \n            Suggested Remediation:Make sure kubernetes API server is reachable from meshery server\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrScanKubernetesCode\n             2183 \n          \n          Alert\n          Unable to scan kubernetes\n        \n        \n          \n              Probable Cause:Kubernetes API server might not be reachable from the Meshery server\n          \n          \n            Suggested Remediation:Make sure kubernetes API server is reachable from meshery server\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrRetrievePodListCode\n             2184 \n          \n          Alert\n          Unable to retrieve pod list\n        \n        \n          \n              Probable Cause:Kubernetes API server might not be reachable from the Meshery server\nRequested resource might not be available\n          \n          \n            Suggested Remediation:Make sure kubernetes API server is reachable from meshery server\nMake sure you are requesting for a valid resource\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrDetectServiceForDeploymentImageCode\n             2185 \n          \n          Alert\n          Unable to detect service for deployment image\n        \n        \n          \n              Probable Cause:Kubernetes API server might not be reachable from the Meshery server\nRequested resource might not be available\n          \n          \n            Suggested Remediation:Make sure kubernetes API server is reachable from meshery server\nMake sure you are requesting for a valid resource\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrRetrieveNamespacesListCode\n             2186 \n          \n          Alert\n          Unable to get the list of namespaces\n        \n        \n          \n              Probable Cause:Kubernetes API server might not be reachable from the Meshery server\nRequested resource might not be available\n          \n          \n            Suggested Remediation:Make sure kubernetes API server is reachable from meshery server\nMake sure you are requesting for a valid resource\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrGetNamespaceDeploymentsCode\n             2187 \n          \n          Alert\n          Unable to get deployments in the \nnamespace\n        \n        \n          \n              Probable Cause:Kubernetes API server might not be reachable from the Meshery server\nRequested resource might not be available\n          \n          \n            Suggested Remediation:Make sure kubernetes API server is reachable from meshery server\nMake sure you are requesting for a valid resource\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrDetectServiceWithNameCode\n             2188 \n          \n          Alert\n          Unable to get services from the cluster with the name given in names parameter\n        \n        \n          \n              Probable Cause:Kubernetes API server might not be reachable from the Meshery server\nRequested resource might not reachable from Meshery server\n          \n          \n            Suggested Remediation:Make sure kubernetes API server is reachable from meshery server\nMake sure the network connectivity is up between meshery server and the service endpoint\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrGeneratingLoadTestCode\n             2189 \n          \n          Alert\n          Unable to generate load test\n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrRunningTestCode\n             2190 \n          \n          Alert\n          Unable to run test\n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrConvertingResultToMapCode\n             2191 \n          \n          Alert\n          Unable to convert from the result to map\n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrUnmarshalCode\n             2192 \n          \n          \n          \n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrGrpcSupportCode\n             2193 \n          \n          Alert\n           does not support gRPC load testing\n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrStartingNighthawkServerCode\n             2194 \n          \n          Alert\n          Unable to start the nighthawk server\n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrTransformingDataCode\n             2195 \n          \n          Alert\n          Error while transforming data\n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrRunningNighthawkServerCode\n             2196 \n          \n          Alert\n          Error while running nighthawk server\n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrAddAndValidateExtraHeaderCode\n             2197 \n          \n          Alert\n          Unable to add and validate extra header\n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrInClusterConfigCode\n             2198 \n          \n          Alert\n          Unable to load in-cluster kubeconfig\n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrNewKubeClientGeneratorCode\n             2199 \n          \n          Alert\n          Unable to generate new kube dynamic client\n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrRestConfigFromKubeConfigCode\n             2200 \n          \n          Alert\n          Unable to create rest config from kube congif\n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrNewKubeClientCode\n             2201 \n          \n          Alert\n          Unable to create new kube client\n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrWriteResponseCode\n             2202 \n          \n          Alert\n          Error writing response\n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrTestConfigsCode\n             2203 \n          \n          Alert\n          Error fetching test configs\n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrInvalidGenValueCode\n             2204 \n          \n          Alert\n          Invalid value for gen\n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:please provide a valid value for gen (load generator)\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrFailToLoadExtensionsCode\n             2205 \n          \n          Alert\n          Failed to Load Extensions from Package\n        \n        \n          \n              Probable Cause:Plugin is not available in the location\nplugin does not match with meshery version\n          \n          \n            Suggested Remediation:Make sure the plugin is compatible with Meshery server\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrConversionCode\n             2206 \n          \n          Alert\n          unable to convert YAML to JSON\n        \n        \n          \n              Probable Cause:Yaml provided is not valid\n          \n          \n            Suggested Remediation:Make sure the yaml is valid and has the right parameters\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrParseDurationCode\n             2207 \n          \n          Alert\n          error parsing test duration\n        \n        \n          \n              Probable Cause:The format of the duration passed could be incorrect\n          \n          \n            Suggested Remediation:please refer to:  https://docs.meshery.io/guides/mesheryctl#performance-management\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrLoadTestCode\n             2208 \n          \n          \n          \n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrFetchKubernetesCode\n             2209 \n          \n          \n          \n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrPanicRecoveryCode\n             2210 \n          \n          Alert\n          Recovered from panic\n        \n        \n          \n              Probable Cause:Meshery crashes\n          \n          \n            Suggested Remediation:Restart Meshery\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrBlankNameCode\n             2211 \n          \n          Alert\n          Error: name field is blank\n        \n        \n          \n              Probable Cause:Load test name empty or not valid\n          \n          \n            Suggested Remediation:Provide a name for the test\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrGetK8sComponentsCode\n             2212 \n          \n          Alert\n          Could not get K8s components for registration\n        \n        \n          \n              Probable Cause:Invalid kubeconfig\nFilters passed incorrectly in config\nCould not fetch API resources from Kubernetes server\n          \n          \n            Suggested Remediation:Make sure that the configuration filters passed are in accordance with output from /openapi/v2\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrParseK8sManifestCode\n             2213 \n          \n          \n          \n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrCreatePatternServiceCode\n             2214 \n          \n          \n          \n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrSavingSeededComponentsCode\n             2215 \n          \n          Alert\n          Error while saving sample \n        \n        \n          \n              Probable Cause:User doesn't have permission to save content.\\nDatabase unreachable.\\nDatabase locked or corrupt.\\nContent unsupported.\n          \n          \n            Suggested Remediation:Retry fetching content\\nRetry sigining in\\nLogin with correct user account\\nRetry after deleting '~/.meshery/config'.\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrGettingSeededComponentsCode\n             2216 \n          \n          Alert\n          Error while getting \n from sample content\n        \n        \n          \n              Probable Cause:Sample content does not exist.\\nContent file format not supported.\\nUser doesn't have permission to read sample content.\\nContent file corrupt.\n          \n          \n            Suggested Remediation:Try restarting Meshery.\\nTry fetching content again.\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrDownloadingSeededComponentsCode\n             2217 \n          \n          Alert\n          \n        \n        \n          \n              Probable Cause:The content is not present at the specified url endpoint\nHTTP requests failed\n          \n          \n            Suggested Remediation:Make sure the content is available at the endpoints\nMake sure that Github is reachable and the http requests are not failing\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrContextIDCode\n             2218 \n          \n          Alert\n          Error: Context ID is empty\n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrMesheryInstanceIDCode\n             2219 \n          \n          \n          \n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrMesheryNotInClusterCode\n             2220 \n          \n          Alert\n          Error: Meshery is not running inside a cluster\n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrBrokerNotConnectedCode\n             2221 \n          \n          Alert\n          Broker not connected\n        \n        \n          \n              Probable Cause:Meshery Broker is crashed or not reachable\n          \n          \n            Suggested Remediation:Restart Meshery Server\nPlease check if Meshery server has access to the Broker\n          \n          \n          Long Description:\n          Meshery Broker is not connected to Meshery Server\n        \n    \n           \n        \n          \n            \n            ErrResolverInvalidRequestCode\n             2222 \n          \n          Alert\n          Invalid query, please check syntax\n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:Check the query parameters and syntax of the query being run\n          \n          \n          Long Description:\n          The Graphql query requested is invalid\n        \n    \n           \n        \n          \n            \n            ErrResolverNilClientCode\n             2223 \n          \n          Alert\n          Kubernetes client not initialized\n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:Upload your kubernetes config via the settings dashboard. If uploaded, wait for a minute for it to get initialized\n          \n          \n          Long Description:\n          Kubernetes config is not initialized with Meshery\n        \n    \n           \n        \n          \n            \n            ErrResolverCreateDataCode\n             2224 \n          \n          \n          \n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrResolverQueryCode\n             2225 \n          \n          \n          \n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrResolverMeshsyncSubscriptionCode\n             2226 \n          \n          Alert\n          MeshSync Subscription failed\n        \n        \n          \n              Probable Cause:Could be a network issue\n          \n          \n            Suggested Remediation:Check if meshery server is reachable from the browser\n          \n          \n          Long Description:\n          GraphQL subscription for MeshSync stopped\n        \n    \n           \n        \n          \n            \n            ErrResolverOperatorSubscriptionCode\n             2227 \n          \n          Alert\n          Operator Subscription failed\n        \n        \n          \n              Probable Cause:Could be a network issue\n          \n          \n            Suggested Remediation:Check if meshery server is reachable from the browser\n          \n          \n          Long Description:\n          GraphQL subscription for Operator stopped\n        \n    \n           \n        \n          \n            \n            ErrResolverAddonSubscriptionCode\n             2228 \n          \n          \n          \n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrResolverControlPlaneSubscriptionCode\n             2229 \n          \n          Alert\n          Control Plane Subscription failed\n        \n        \n          \n              Probable Cause:Could be a network issue\n          \n          \n            Suggested Remediation:Confirm that Meshery Server is reachable from your browser.\n          \n          \n          Long Description:\n          GraphQL subscription for Control Plane stopped\n        \n    \n           \n        \n          \n            \n            ErrResolverMesheryClientCode\n             2230 \n          \n          \n          \n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrResolverSubscribeChannelCode\n             2231 \n          \n          \n          \n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrResolverPublishBrokerCode\n             2232 \n          \n          Alert\n          Unable to publish to broker\n        \n        \n          \n              Probable Cause:Could be a network issue\nMeshery Broker could have crashed\n          \n          \n            Suggested Remediation:Check if Meshery Broker is reachable from Meshery Server\nCheck if Meshery Broker is up and running inside the configured cluster\n          \n          \n          Long Description:\n          Unable to create a broker publisher\n        \n    \n           \n        \n          \n            \n            ErrResolverNoMeshSyncCode\n             2233 \n          \n          \n          \n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrResolverNoExternalEndpointCode\n             2234 \n          \n          \n          \n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrBrokerNotFoundCode\n             2235 \n          \n          Alert\n          Meshery broker not found\n        \n        \n          \n              Probable Cause:Invalid Grafana Endpoint or API-Key\n          \n          \n            Suggested Remediation:Update your Grafana URL and API-Key from the settings page in the UI\n          \n          \n          Long Description:\n          Unable to find meshery broker in the cluster\n        \n    \n           \n        \n          \n            \n            ErrCreateOperatorDeploymentConfigCode\n             2236 \n          \n          Alert\n          Operator deployment configuration could not be created.\n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrRequestMeshsyncStoreCode\n             2237 \n          \n          Alert\n          Meshsync store request could not be issued\n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:Make sure meshery broker is healthy\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrBrokerSubscriptionCode\n             2238 \n          \n          Alert\n          Could not subscribe to the broker subject\n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:Make sure meshery broker is healthy\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrMesheryControllersStatusSubscriptionCode\n             2239 \n          \n          Alert\n          Could not create meshery controllers status subcription\n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:Make sure the controllers are deployed and their handlers are configured\n          \n          \n          Long Description:\n          Meshery controller handlers may not be available\n        \n    \n           \n        \n          \n            \n            ErrMeshSyncEventsSubscriptionCode\n             2240 \n          \n          Alert\n          Could not create MeshSync events subcription\n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:Make sure the controllers are deployed and their handlers are configured\n          \n          \n          Long Description:\n          Meshery controller handlers may not be available\n        \n    \n           \n        \n          \n            \n            ErrListenAndServeCode\n             2248 \n          \n          Fatal\n          ListenAndServe Error\n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          ListenAndServe Error: \n        \n    \n           \n        \n          \n            \n            ErrCleaningUpLocalProviderCode\n             2249 \n          \n          Alert\n          Error cleaning up local provider\n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          Error cleaning up local provider: \n        \n    \n           \n        \n          \n            \n            ErrClosingDatabaseInstanceCode\n             2250 \n          \n          Alert\n          Error closing database instance\n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          Error closing database instance: \n        \n    \n           \n        \n          \n            \n            ErrCreatingUUIDInstanceCode\n             2251 \n          \n          Fatal\n          Unable to create UUID instance\n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          Unable to create UUID instance: \n        \n    \n  \n  \nTop\n\n\n\n\n \n               Meshery Adapter for meshery-linkerd\n               \n\n  \n    \n      Error Name Error Code\n      Severity\n      Short Description\n    \n  \n  \n    \n           \n        \n          \n            \n            ErrEmptyConfigCode\n             1000 \n          \n          Alert\n          Config is empty\n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrGetLatestReleasesCode\n             1001 \n          \n          Alert\n          unable to fetch release info\n        \n        \n          \n              Probable Cause:Checkout https://docs.github.com/en/rest/reference/repos#releases for more info\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          Unable to get the latest release info from the GithubAPI\n        \n    \n           \n        \n          \n            \n            ErrGetLatestReleaseNamesCode\n             1002 \n          \n          Alert\n          failed to extract release names\n        \n        \n          \n              Probable Cause:Invalid release format\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrInstallLinkerdCode\n             1003 \n          \n          Alert\n          Error with Linkerd operation: \n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrMeshConfigCode\n             1004 \n          \n          Alert\n          Error configuration mesh: \n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrFetchManifestCode\n             1005 \n          \n          Alert\n          Error fetching mesh manifest: %s\n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrDownloadBinaryCode\n             1006 \n          \n          Alert\n          Error downloading Linkerd binary: \n        \n        \n          \n              Probable Cause:Checkout https://docs.github.com/en/rest/reference/repos#releases for more details\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrInstallBinaryCode\n             1007 \n          \n          Alert\n          Error installing Linkerd binary: \n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrClientConfigCode\n             1008 \n          \n          Alert\n          Error setting client config: \n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrClientSetCode\n             1009 \n          \n          Alert\n          Error setting clientset: \n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrSampleAppCode\n             1011 \n          \n          Alert\n          Error with sample app operation\n        \n        \n          \n              Probable Cause:Invalid kubeclient config\nInvalid manifest\n          \n          \n            Suggested Remediation:Reconnect your adapter to meshery server to refresh the kubeclient\n          \n          \n          Long Description:\n          Error occurred while trying to install a sample application using manifests\n        \n    \n           \n        \n          \n            \n            ErrCustomOperationCode\n             1012 \n          \n          Alert\n          Error with custom operation\n        \n        \n          \n              Probable Cause:Invalid kubeclient config\nInvalid manifest\n          \n          \n            Suggested Remediation:Make sure to apply a valid Kubernetes manifest\n          \n          \n          Long Description:\n          Error occurred while applying custom manifest to the cluster\n        \n    \n           \n        \n          \n            \n            ErrOpInvalidCode\n             1013 \n          \n          Alert\n          Invalid operation\n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrInvalidOAMComponentTypeCode\n             1014 \n          \n          Alert\n          invalid OAM component name: \n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrLinkerdCoreComponentFailCode\n             1015 \n          \n          Alert\n          error in linkerd core component\n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrProcessOAMCode\n             1016 \n          \n          Alert\n          error performing OAM operations\n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrParseLinkerdCoreComponentCode\n             1017 \n          \n          Alert\n          linkerd core component manifest parsing failing\n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrParseOAMComponentCode\n             1018 \n          \n          Alert\n          error parsing the component\n        \n        \n          \n              Probable Cause:Could not unmarshall configuration component received via ProcessOAM gRPC call into a valid Component struct\n          \n          \n            Suggested Remediation:Check if Meshery Server is creating valid component for ProcessOAM gRPC call. This error should never happen and can be reported as a bug in Meshery Server. Also check if Meshery Server and adapters are referring to same component struct provided in MeshKit.\n          \n          \n          Long Description:\n          Error occurred while parsing application component in the OAM request made by Meshery server\n        \n    \n           \n        \n          \n            \n            ErrParseOAMConfigCode\n             1019 \n          \n          Alert\n          error parsing the configuration\n        \n        \n          \n              Probable Cause:Could not unmarshall OAM config received via ProcessOAM gRPC call into a valid Config struct\n          \n          \n            Suggested Remediation:Check if Meshery Server is creating valid config for ProcessOAM gRPC call. This error should never happen and can be reported as a bug in Meshery Server. Also, confirm that Meshery Server and Adapters are referring to same config struct provided in MeshKit\n          \n          \n          Long Description:\n          Error occurred while parsing configuration in the request made by Meshery Server\n        \n    \n           \n        \n          \n            \n            ErrApplyHelmChartCode\n             1020 \n          \n          Alert\n          error applying helm chart\n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrNilClientCode\n             1021 \n          \n          Alert\n          Kubernetes client not initialized\n        \n        \n          \n              Probable Cause:Kubernetes client not initialized\n          \n          \n            Suggested Remediation:Reconnect the Meshery Adapter to Meshery Server\n          \n          \n          Long Description:\n          Kubernetes client is nil\n        \n    \n           \n        \n          \n            \n            ErrAddonFromHelmCode\n             1022 \n          \n          Alert\n          Error with addon install operation by helm chart\n        \n        \n          \n              Probable Cause:The helm chart URL in additional properties of addon operation might be incorrect\nCould not apply service patch file for the given addon\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrInvalidVersionForMeshInstallationCode\n             1023 \n          \n          Alert\n          Invalid version passed for helm based installation\n        \n        \n          \n              Probable Cause:Version might not be prefixed with \\&quot;stable-\\&quot; or \\&quot;edge-\\\n          \n          \n            Suggested Remediation:Version should be prefixed with \\\"stable-\\\" or \\\"edge-\\\nVersion might be empty\n          \n          \n          Long Description:\n          Version passed is invalid\n        \n    \n           \n        \n          \n            \n            ErrAnnotatingNamespaceCode\n             1024 \n          \n          Alert\n          Error with annotating namespace\n        \n        \n          \n              Probable Cause:Could not get the namespace in cluster\nCould not update namespace in cluster\n          \n          \n            Suggested Remediation:Make sure the cluster is reachable\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrCertEncodeCode\n             1101 \n          \n          Fatal\n          Failed to encode: \n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrEncodeCertificatesPEMCode\n             1102 \n          \n          Fatal\n          Failed to encode certificate PEM: \n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrEncodePrivateKeyPEMCode\n             1103 \n          \n          Fatal\n          Failed to encode private key PEM: \n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrCreateRootCACode\n             1104 \n          \n          Alert\n          Failed to create Root CA: \n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrGeneratePKCode\n             1105 \n          \n          Alert\n          Failed to create Private Key: \n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrGenerateDefaultRootCACode\n             1106 \n          \n          Alert\n          Failed to create default Root CA: \n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrGetFileNamesCode\n             1107 \n          \n          Alert\n          failed to get filenames for dynamic component generation\n        \n        \n          \n              Probable Cause:The repository could not be cloned or reached\nThe repository url is invalid\nCould not reach the remote git repository\n          \n          \n            Suggested Remediation:Make sure the owner, repo and path is correct for fetching crd names\n          \n          \n          Long Description:\n          \n        \n    \n  \n  \nTop\n\n\n\n\n \n               Meshery Adapter for meshery-consul\n               \n\n  \n    \n      Error Name Error Code\n      Severity\n      Short Description\n    \n  \n  \n    \n           \n        \n          \n            \n            ErrApplyOperationCode\n             1000 \n          \n          Alert\n          Error applying operation\n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrParseOAMComponentCode\n             1001 \n          \n          Alert\n          error parsing the component\n        \n        \n          \n              Probable Cause:Could not unmarshall configuration component received via ProcessOAM gRPC call into a valid Component struct\n          \n          \n            Suggested Remediation:Check if Meshery Server is creating valid component for ProcessOAM gRPC call. This error should never happen and can be reported as a bug in Meshery Server. Also, check if Meshery Server and adapters are referring to same component struct provided in MeshKit.\n          \n          \n          Long Description:\n          Error occurred while parsing application component in the OAM request made by Meshery Server\n        \n    \n           \n        \n          \n            \n            ErrParseOAMConfigCode\n             1002 \n          \n          Alert\n          error parsing the configuration\n        \n        \n          \n              Probable Cause:Could not unmarshall OAM config received via ProcessOAM gRPC call into a valid Config struct\n          \n          \n            Suggested Remediation:Check if Meshery Server is creating valid config for ProcessOAM gRPC call. This error should never happen and can be reported as a bug in Meshery Server. Also, confirm that Meshery Server and Adapters are referring to same config struct provided in MeshKit\n          \n          \n          Long Description:\n          Error occurred while parsing configuration in the request made by Meshery Server\n        \n    \n           \n        \n          \n            \n            ErrProcessOAMCode\n             1003 \n          \n          Alert\n          error performing OAM operations\n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrApplyHelmChartCode\n             1004 \n          \n          Alert\n          Error applying helm chart\n        \n        \n          \n              Probable Cause:Chart could be invalid\n          \n          \n            Suggested Remediation:Use `helm verify` and `helm lint` to verify chart path and validity\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrMeshConfigCode\n             1005 \n          \n          Alert\n          Error configuration mesh\n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          Error getting MeshSpecKey config from in-memory configuration\n        \n    \n           \n        \n          \n            \n            ErrConsulCoreComponentFailCode\n             1006 \n          \n          Alert\n          error in Consul core component\n        \n        \n          \n              Probable Cause:API version or Kind passed is empty\n          \n          \n            Suggested Remediation:Make sure API version and Kind are not empty\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrParseConsulCoreComponentCode\n             1007 \n          \n          Alert\n          Consul core component manifest parsing failing\n        \n        \n          \n              Probable Cause:Could not marshall generated component to YAML\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrGetLatestReleasesCode\n             1008 \n          \n          Alert\n          Unable to fetch release info\n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrGetManifestNamesCode\n             1009 \n          \n          Alert\n          Unable to fetch manifest names from github\n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrEmptyConfigCode\n             1010 \n          \n          Alert\n          Config is empty\n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrLoadingPathsetCode\n             1011 \n          \n          Alert\n          Could not create a pathset for static component generation\n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n  \n  \nTop\n\n\n\n\n \n               Meshery Adapter for meshery-kuma\n               \n\n  \n    \n      Error Name Error Code\n      Severity\n      Short Description\n    \n  \n  \n    \n           \n        \n          \n            \n            ErrGetLatestReleasesCode\n             1000 \n          \n          Alert\n          unable to fetch release info\n        \n        \n          \n              Probable Cause:Checkout https://docs.github.com/en/rest/reference/repos#releases for more info\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          Unable to get the latest release info from the GithubAPI\n        \n    \n           \n        \n          \n            \n            ErrGetLatestReleaseNamesCode\n             1001 \n          \n          Alert\n          failed to extract release names\n        \n        \n          \n              Probable Cause:Invalid release format\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrOpInvalidCode\n             1002 \n          \n          Alert\n          Invalid operation\n        \n        \n          \n              Probable Cause:The operation is not supported by the adapter\nInvalid operation name\n          \n          \n            Suggested Remediation:Check if the operation name is valid and supported by the adapter\n          \n          \n          Long Description:\n          Kuma adapter recived an invalid operation from the meshey server\n        \n    \n           \n        \n          \n            \n            ErrInstallKumaCode\n             1003 \n          \n          Alert\n          Error with kuma operation\n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          Error occured while installing kuma mesh through kumactl\n        \n    \n           \n        \n          \n            \n            ErrMeshConfigCode\n             1004 \n          \n          Alert\n          Error configuration mesh\n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:Reconnect the adapter to the Meshery Server\n          \n          \n          Long Description:\n          Error getting MeshSpecKey config from in-memory configuration\n        \n    \n           \n        \n          \n            \n            ErrFetchManifestCode\n             1005 \n          \n          Alert\n          Error occured while fetching the mainfest\n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrClientConfigCode\n             1006 \n          \n          Alert\n          Error occured while setting client config\n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrClientSetCode\n             1007 \n          \n          Alert\n          Error occured while setting clientset\n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrStreamEventCode\n             1008 \n          \n          Alert\n          Error occured while streaming events\n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrSampleAppCode\n             1009 \n          \n          Alert\n          Error with sample app operation\n        \n        \n          \n              Probable Cause:Invalid kubeclient config\nInvalid manifest\n          \n          \n            Suggested Remediation:Reconnect your adapter to Meshery Server to refresh the kubeclient\n          \n          \n          Long Description:\n          Error occured while trying to install a sample application using manifests\n        \n    \n           \n        \n          \n            \n            ErrGetKumactlCode\n             1010 \n          \n          Alert\n          Error getting kumactl comamndline\n        \n        \n          \n              Probable Cause:https://download.konghq.com/mesh-alpine/kuma-&lt;release&gt;-&lt;platform&gt;-&lt;arch&gt;.tar.gz might be deprecated\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          Error occured while downloading`kumactl` and moving it to .meshery/bin]\n        \n    \n           \n        \n          \n            \n            ErrDownloadBinaryCode\n             1011 \n          \n          Alert\n          Error downloading kuma binary\n        \n        \n          \n              Probable Cause:Checkout https://download.konghq.com/mesh-alpine/kuma-&lt;release&gt;-&lt;platform&gt;-&lt;arch&gt;.tar.gz for more details\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          Error occured while download kuma binary from its release url\n        \n    \n           \n        \n          \n            \n            ErrInstallBinaryCode\n             1012 \n          \n          Alert\n          Error installing kumactl\n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          Error occured while installing kuma mesh through kumactl\n        \n    \n           \n        \n          \n            \n            ErrUntarCode\n             1013 \n          \n          Alert\n          Error while extracting file\n        \n        \n          \n              Probable Cause:The gzip might be corrupt\n          \n          \n            Suggested Remediation:Retry the operation\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrUntarDefaultCode\n             1014 \n          \n          Alert\n          Error untaring opeartion default\n        \n        \n          \n              Probable Cause:The compressed file might be corrupted\n          \n          \n            Suggested Remediation:Clear the cache and retry the operation\n          \n          \n          Long Description:\n          Error occured in the process of untaring a compressed file\n        \n    \n           \n        \n          \n            \n            ErrMoveBinaryCode\n             1015 \n          \n          Alert\n          Error occured while moving the kumactl binary\n        \n        \n          \n              Probable Cause:Meshery adapter might not have write access\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrCustomOperationCode\n             1016 \n          \n          Alert\n          Error with custom operation\n        \n        \n          \n              Probable Cause:Invalid kubeclient config\nInvalid manifest\n          \n          \n            Suggested Remediation:Reupload the kubconfig in the Meshery Server and reconnect the adapter\n          \n          \n          Long Description:\n          Error occured while applying custom manifest to the cluster\n        \n    \n           \n        \n          \n            \n            ErrNilClientCode\n             1017 \n          \n          Alert\n          Kubernetes client not initialized\n        \n        \n          \n              Probable Cause:Kubernetes client not initialized\n          \n          \n            Suggested Remediation:Reconnect the adapter to Meshery Server\n          \n          \n          Long Description:\n          Kubernetes client is nil\n        \n    \n           \n        \n          \n            \n            ErrApplyHelmChartCode\n             1018 \n          \n          Alert\n          Error with helm chart operation\n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:Invalid helm chart configuration\n          \n          \n          Long Description:\n          Error occured while applying Helm Chart\n        \n    \n           \n        \n          \n            \n            ErrGetLatestReleaseCode\n             1019 \n          \n          Alert\n          Could not get latest version\n        \n        \n          \n              Probable Cause:Latest version could not be found at the specified url\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrInvalidOAMComponentTypeCode\n             1021 \n          \n          Alert\n          invalid OAM component name: \n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrKumaCoreComponentFailCode\n             1022 \n          \n          Alert\n          error in kuma core component\n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrProcessOAMCode\n             1023 \n          \n          Alert\n          error performing OAM operations\n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrParseKumaCoreComponentCode\n             1024 \n          \n          Alert\n          kuma core component manifest parsing failing\n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrParseOAMComponentCode\n             1025 \n          \n          Alert\n          error parsing the component\n        \n        \n          \n              Probable Cause:Could not unmarshall configuration component received via ProcessOAM gRPC call into a valid Component struct\n          \n          \n            Suggested Remediation:Check if Meshery Server is creating valid component for ProcessOAM gRPC call. This error should never happen and can be reported as a bug in Meshery Server. Also check if Meshery Server and adapters are referring to same component struct provided in MeshKit.\n          \n          \n          Long Description:\n          Error occurred while parsing application component in the OAM request made by Meshery server\n        \n    \n           \n        \n          \n            \n            ErrParseOAMConfigCode\n             1026 \n          \n          Alert\n          error parsing the configuration\n        \n        \n          \n              Probable Cause:Could not unmarshall OAM config recieved via ProcessOAM gRPC call into a valid Config struct\n          \n          \n            Suggested Remediation:Check if Meshery Server is creating valid config for ProcessOAM gRPC call. This error should never happen and can be reported as a bug in Meshery Server. Also, confirm that Meshery Server and Adapters are referring to same config struct provided in MeshKit\n          \n          \n          Long Description:\n          Error occured while parsing configuration in the request made by Meshery Server\n        \n    \n           \n        \n          \n            \n            ErrEmptyConfigCode\n             1027 \n          \n          Alert\n          Config is empty\n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrLoadNamespaceCode\n             1028 \n          \n          Alert\n          Error occured while applying namespace \n        \n        \n          \n              Probable Cause:Trying to access a namespace which is not available\n          \n          \n            Suggested Remediation:Verify presence of namespace. Confirm Meshery ServiceAccount permissions\n          \n          \n          Long Description:\n          \n        \n    \n  \n  \nTop\n\n\n\n\n \n               Meshery Adapter for meshery-osm\n               \n\n  \n    \n      Error Name Error Code\n      Severity\n      Short Description\n    \n  \n  \n    \n           \n        \n          \n            \n            ErrInstallOSMCode\n             1000 \n          \n          Alert\n          Error with osm operation\n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          Error occured while installing osm mesh through osmctl\n        \n    \n           \n        \n          \n            \n            ErrTarXZFCode\n             1001 \n          \n          Alert\n          Error while extracting file\n        \n        \n          \n              Probable Cause:The gzip might be corrupt\n          \n          \n            Suggested Remediation:Retry the operation\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrMeshConfigCode\n             1002 \n          \n          Alert\n          Error configuration mesh\n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:Reconnect the adaptor to the meshkit server\n          \n          \n          Long Description:\n          Error getting MeshSpecKey config from in-memory configuration\n        \n    \n           \n        \n          \n            \n            ErrRunOsmCtlCmdCode\n             1003 \n          \n          Alert\n          Error running istioctl command\n        \n        \n          \n              Probable Cause:Corrupted istioctl binary\nCommand might be invalid\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrDownloadBinaryCode\n             1004 \n          \n          Alert\n          Error downloading osm binary\n        \n        \n          \n              Probable Cause:Checkout https://docs.github.com/en/rest/reference/repos#releases for more details\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          Error occured while download osm binary from its github release\n        \n    \n           \n        \n          \n            \n            ErrInstallBinaryCode\n             1005 \n          \n          Alert\n          Error installing osm binary\n        \n        \n          \n              Probable Cause:Corrupted osm release binary\nInvalid installation location\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrSampleAppCode\n             1006 \n          \n          Alert\n          Error with sample app operation\n        \n        \n          \n              Probable Cause:Invalid kubeclient config\nInvalid manifest\n          \n          \n            Suggested Remediation:Reconnect your adapter to meshery server to refresh the kubeclient\n          \n          \n          Long Description:\n          Error occured while trying to install a sample application using manifests\n        \n    \n           \n        \n          \n            \n            ErrCustomOperationCode\n             1007 \n          \n          Alert\n          Error with custom operation\n        \n        \n          \n              Probable Cause:Invalid kubeclient config\nInvalid manifest\n          \n          \n            Suggested Remediation:Reupload the kubconfig in the Meshery Server and reconnect the adapter\n          \n          \n          Long Description:\n          Error occured while applying custom manifest to the cluster\n        \n    \n           \n        \n          \n            \n            ErrCreatingNSCode\n             1008 \n          \n          Alert\n          Error creating namespace\n        \n        \n          \n              Probable Cause:Invalid kubeclient config\nInvalid manifest\n          \n          \n            Suggested Remediation:Reupload the kubeconfig in the Meshery Server and reconnect the adapter\n          \n          \n          Long Description:\n          Error occured while applying manifest to create a namespace\n        \n    \n           \n        \n          \n            \n            ErrRunExecutableCode\n             1009 \n          \n          Alert\n          Error running executable\n        \n        \n          \n              Probable Cause:Corrupted binary\nInvalid operation\n          \n          \n            Suggested Remediation:Check if the adaptor is executing a deprecated command\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrSidecarInjectionCode\n             1010 \n          \n          Alert\n          Error occured while injection sidecar\n        \n        \n          \n              Probable Cause:Corrupted binary\nInvalidoperation\n          \n          \n            Suggested Remediation:Check if the adaptor is executing a deprecated command\n          \n          \n          Long Description:\n          Error occured while injecting sidercar using osm(ctl) `osm namespace add/remove &lt;name&gt;` \n        \n    \n           \n        \n          \n            \n            ErrOpInvalidCode\n             1011 \n          \n          Alert\n          Invalid operation\n        \n        \n          \n              Probable Cause:The operation is not supported by the adapter\nInvalid operation name\n          \n          \n            Suggested Remediation:Check if the operation name is valid and supported by the adapter\n          \n          \n          Long Description:\n          Istio adapter recived an invalid operation from the meshey server\n        \n    \n           \n        \n          \n            \n            ErrApplyHelmChartCode\n             1012 \n          \n          Alert\n          Error occured while applying Helm Chart\n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrNilClientCode\n             1013 \n          \n          Alert\n          kubernetes client not initialized\n        \n        \n          \n              Probable Cause:kubernetes client not initialized\n          \n          \n            Suggested Remediation:Reconnect the adaptor to Meshery server\n          \n          \n          Long Description:\n          Kubernetes client is nil\n        \n    \n           \n        \n          \n            \n            ErrInvalidOAMComponentTypeCode\n             1014 \n          \n          Alert\n          invalid OAM component name: \n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrOSMCoreComponentFailCode\n             1015 \n          \n          Alert\n          error in osm core component\n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrProcessOAMCode\n             1016 \n          \n          Alert\n          error performing OAM operations\n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrParseOSMCoreComponentCode\n             1017 \n          \n          Alert\n          osm core component manifest parsing failing\n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrParseOAMComponentCode\n             1018 \n          \n          Alert\n          error parsing the component\n        \n        \n          \n              Probable Cause:Could not unmarshall configuration component received via ProcessOAM gRPC call into a valid Component struct\n          \n          \n            Suggested Remediation:Check if Meshery Server is creating valid component for ProcessOAM gRPC call. This error should never happen and can be reported as a bug in Meshery Server. Also check if Meshery Server and adapters are referring to same component struct provided in MeshKit.\n          \n          \n          Long Description:\n          Error occurred while parsing application component in the OAM request made by Meshery server\n        \n    \n           \n        \n          \n            \n            ErrParseOAMConfigCode\n             1019 \n          \n          Alert\n          error parsing the configuration\n        \n        \n          \n              Probable Cause:Could not unmarshall OAM config recieved via ProcessOAM gRPC call into a valid Config struct\n          \n          \n            Suggested Remediation:Check if Meshery Server is creating valid config for ProcessOAM gRPC call. This error should never happen and can be reported as a bug in Meshery Server. Also, confirm that Meshery Server and Adapters are referring to same config struct provided in MeshKit\n          \n          \n          Long Description:\n          Error occured while parsing configuration in the request made by Meshery Server\n        \n    \n           \n        \n          \n            \n            ErrGetLatestReleaseCode\n             1020 \n          \n          Alert\n          Could not get latest version\n        \n        \n          \n              Probable Cause:Latest version could not be found at the specified url\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrLoadNamespaceCode\n             1021 \n          \n          Alert\n          Error occured while applying namespace \n        \n        \n          \n              Probable Cause:Trying to access a namespace which is not available\n          \n          \n            Suggested Remediation:Verify presence of namespace. Confirm Meshery ServiceAccount permissions\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrEmptyConfigCode\n             1022 \n          \n          Alert\n          Config is empty\n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrGetLatestReleasesCode\n             1023 \n          \n          Alert\n          Unable to fetch release info\n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrGetLatestReleaseNamesCode\n             1024 \n          \n          Alert\n          Failed to extract release names\n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrGetManifestNamesCode\n             1025 \n          \n          Alert\n          Unable to fetch manifest names from github\n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n  \n  \nTop\n\n\n\n\n \n               Meshery Adapter for meshery-istio\n               \n\n  \n    \n      Error Name Error Code\n      Severity\n      Short Description\n    \n  \n  \n    \n           \n        \n          \n            \n            ErrEmptyConfigCode\n             1000 \n          \n          Alert\n          Config is empty\n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrGetLatestReleasesCode\n             1001 \n          \n          Alert\n          unable to fetch release info\n        \n        \n          \n              Probable Cause:Checkout https://docs.github.com/en/rest/reference/repos#releases for more info\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          Unable to get the latest release info from the GithubAPI\n        \n    \n           \n        \n          \n            \n            ErrGetLatestReleaseNamesCode\n             1002 \n          \n          Alert\n          failed to extract release names\n        \n        \n          \n              Probable Cause:Invalid release format\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrInstallUsingIstioctlCode\n             1003 \n          \n          Alert\n          Error with istio operation\n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          Error occured while installing istio mesh through istioctl\n        \n    \n           \n        \n          \n            \n            ErrUnzipFileCode\n             1004 \n          \n          Alert\n          Error while unzipping\n        \n        \n          \n              Probable Cause:File might be corrupt\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrTarXZFCode\n             1005 \n          \n          Alert\n          Error while extracting file\n        \n        \n          \n              Probable Cause:/The gzip might be corrupt\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrMeshConfigCode\n             1006 \n          \n          Alert\n          Error configuration mesh\n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          Error getting MeshSpecKey config from in-memory configuration\n        \n    \n           \n        \n          \n            \n            ErrRunIstioCtlCmdCode\n             1007 \n          \n          Alert\n          Error running istioctl command\n        \n        \n          \n              Probable Cause:Corrupted istioctl binary\nCommand might be invalid\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrSampleAppCode\n             1008 \n          \n          Alert\n          Error with sample app operation\n        \n        \n          \n              Probable Cause:Invalid kubeclient config\nInvalid manifest\n          \n          \n            Suggested Remediation:Reconnect your adapter to meshery server to refresh the kubeclient\n          \n          \n          Long Description:\n          Error occured while trying to install a sample application using manifests\n        \n    \n           \n        \n          \n            \n            ErrEnvoyFilterCode\n             1009 \n          \n          Alert\n          Error with envoy filter operation\n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrApplyPolicyCode\n             1010 \n          \n          Alert\n          Error with apply policy operation\n        \n        \n          \n              Probable Cause:Invalid kubeclient config\nInvalid manifest\n          \n          \n            Suggested Remediation:Reconnect your adapter to meshery server to refresh the kubeclient\n          \n          \n          Long Description:\n          Error occured while trying to install a sample application using manifests\n        \n    \n           \n        \n          \n            \n            ErrCustomOperationCode\n             1011 \n          \n          Alert\n          Error with custom operation\n        \n        \n          \n              Probable Cause:Invalid kubeclient config\nInvalid manifest\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          Error occured while applying custom manifest to the cluster\n        \n    \n           \n        \n          \n            \n            ErrAddonFromTemplateCode\n             1012 \n          \n          Alert\n          Error with addon install operation\n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrInvalidInstallationProfileCode\n             1013 \n          \n          Alert\n          Error while installing istio due to wrong profile\n        \n        \n          \n              Probable Cause:Invalid profile passed\n          \n          \n            Suggested Remediation:Provide one of the profiles: \\\"demo\\\",\\\"minimal\\\",\\\"default\\\" profiles\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrCreatingIstioClientCode\n             1014 \n          \n          Alert\n          Unable to create a new istio client\n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrIstioVetSyncCode\n             1015 \n          \n          Alert\n          Failed to sync\n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrIstioVetCode\n             1016 \n          \n          Alert\n          error while running Istio vet command\n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrParseOAMComponentCode\n             1017 \n          \n          Alert\n          error parsing the component\n        \n        \n          \n              Probable Cause:Could not unmarshall configuration component received via ProcessOAM gRPC call into a valid Component struct\n          \n          \n            Suggested Remediation:Check if Meshery Server is creating valid component for ProcessOAM gRPC call. This error should never happen and can be reported as a bug in Meshery Server. Also check if Meshery Server and adapters are referring to same component struct provided in MeshKit.\n          \n          \n          Long Description:\n          Error occurred while parsing application component in the OAM request made by Meshery server\n        \n    \n           \n        \n          \n            \n            ErrParseOAMConfigCode\n             1018 \n          \n          Alert\n          error parsing the configuration\n        \n        \n          \n              Probable Cause:Could not unmarshall OAM config recieved via ProcessOAM gRPC call into a valid Config struct\n          \n          \n            Suggested Remediation:Check if Meshery Server is creating valid config for ProcessOAM gRPC call. This error should never happen and can be reported as a bug in Meshery Server. Also, confirm that Meshery Server and Adapters are referring to same config struct provided in MeshKit\n          \n          \n          Long Description:\n          Error occured while parsing configuration in the request made by Meshery Server\n        \n    \n           \n        \n          \n            \n            ErrNilClientCode\n             1019 \n          \n          Alert\n          kubernetes client not initialized\n        \n        \n          \n              Probable Cause:kubernetes client not initialized\n          \n          \n            Suggested Remediation:Reconnect the adaptor to Meshery server\n          \n          \n          Long Description:\n          Kubernetes client is nil\n        \n    \n           \n        \n          \n            \n            ErrParseIstioCoreComponentCode\n             1020 \n          \n          Alert\n          istio core component manifest parsing failing\n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrInvalidOAMComponentTypeCode\n             1021 \n          \n          Alert\n          invalid OAM component name: \n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrOpInvalidCode\n             1022 \n          \n          Alert\n          Invalid operation\n        \n        \n          \n              Probable Cause:The operation is not supported by the adapter\nInvalid operation name\n          \n          \n            Suggested Remediation:Check if the operation name is valid and supported by the adapter\n          \n          \n          Long Description:\n          Istio adapter recived an invalid operation from the meshey server\n        \n    \n           \n        \n          \n            \n            ErrIstioCoreComponentFailCode\n             1023 \n          \n          Alert\n          error in istio core component\n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrProcessOAMCode\n             1024 \n          \n          Alert\n          error performing OAM operations\n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrApplyHelmChartCode\n             1025 \n          \n          Alert\n          Error occured while applying Helm Chart\n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrGettingIstioReleaseCode\n             1026 \n          \n          Alert\n          Error occured while fetching Istio release artifacts\n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrUnsupportedPlatformCode\n             1027 \n          \n          Alert\n          requested platform is not supported by Istio\n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          Istio only supports Windows, Linux and Darwin\n        \n    \n           \n        \n          \n            \n            ErrIstioctlNotFoundCode\n             1028 \n          \n          Alert\n          Unable to find Istioctl\n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrDownloadingTarCode\n             1029 \n          \n          Alert\n          Error occured while downloading Istio tar\n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrUnpackingTarCode\n             1030 \n          \n          Alert\n          Error occured while unpacking tar\n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrMakingBinExecutableCode\n             1031 \n          \n          Alert\n          Error while making istioctl an executable\n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrLoadNamespaceCode\n             1032 \n          \n          Alert\n          Error while labeling namespace:\n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n  \n  \nTop\n\n\n\n\n \n               mesheryctl client\n               \n\n  \n    \n      Error Name Error Code\n      Severity\n      Short Description\n    \n  \n  \n    \n           \n        \n          \n            \n            ErrResetMeshconfigCode\n             1004 \n          \n          Alert\n          Error resetting meshconfig\n        \n        \n          \n              Probable Cause:Meshery server config file is not reset to default settings\n          \n          \n            Suggested Remediation:Verify Meshery server config file is reset to default settings by executing `mesheryctl system context view`\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrApplyManifestCode\n             1005 \n          \n          Alert\n          Error applying manifest with update: \n and delete: \n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrApplyOperatorManifestCode\n             1006 \n          \n          Alert\n          Error applying operator manifests with update: \n and delete: \n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrCreateDirCode\n             1007 \n          \n          Alert\n          Error creating directory \n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrUnmarshalCode\n             1008 \n          \n          \n          \n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrNoAdaptersCode\n             1010 \n          \n          Fatal\n          Adapter for required mesh not found\n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:Deploy the proper Meshery Adapter for your service mesh\n          \n          \n          Long Description:\n          Adapter for required mesh not found\n        \n    \n           \n        \n          \n            \n            ErrPromptCode\n             1011 \n          \n          Fatal\n          Error while reading selected option\n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrCreatingDeployRequestCode\n             1012 \n          \n          Fatal\n          Error sending deploy request\n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrCreatingDeployResponseRequestCode\n             1013 \n          \n          Fatal\n          Error creating request for deploy response\n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrAddingAuthDetailsCode\n             1014 \n          \n          Fatal\n          Error adding auth details\n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrCreatingDeployResponseStreamCode\n             1015 \n          \n          \n          \n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrTimeoutWaitingForDeployResponseCode\n             1016 \n          \n          Fatal\n          Timed out waiting for deploy event\n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:Check your environment and try again\n          \n          \n          Long Description:\n          Timed out waiting for deployment\n        \n    \n           \n        \n          \n            \n            ErrFailedDeployingMeshCode\n             1017 \n          \n          Fatal\n          Failed to deploy the service mesh\n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:Check your environment and try again\n          \n          \n          Long Description:\n          Failed to deploy the service mesh\n        \n    \n           \n        \n          \n            \n            ErrCreatingValidateRequestCode\n             1018 \n          \n          Fatal\n          Error sending Validate request\n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrCreatingValidateResponseRequestCode\n             1019 \n          \n          Fatal\n          Error creating request for validate response\n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrTimeoutWaitingForValidateResponseCode\n             1020 \n          \n          Fatal\n          Timed out waiting for validate response\n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:Check your environment and try again\n          \n          \n          Long Description:\n          Timed out waiting for validate response\n        \n    \n           \n        \n          \n            \n            ErrSMIConformanceTestsFailedCode\n             1021 \n          \n          Fatal\n          SMI conformance tests failed\n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:Join https://layer5io.slack.com/archives/C010H0HE2E6\n          \n          \n          Long Description:\n          SMI conformance tests failed\n        \n    \n           \n        \n          \n            \n            ErrRetrievingCurrentContextCode\n             1022 \n          \n          \n          \n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrSettingTemporaryContextCode\n             1023 \n          \n          Alert\n          Error setting temporary context\n        \n        \n          \n              Probable Cause:temporary context is not set properly\n          \n          \n            Suggested Remediation:Verify the temporary context is set properly using the -c flag provided\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrCreateManifestsFolderCode\n             1024 \n          \n          Alert\n          Error creating manifest folder\n        \n        \n          \n              Probable Cause:system error in creating manifest folder\n          \n          \n            Suggested Remediation:Make sure manifest folder (.meshery/manifests) is created properly\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrProcessingMctlConfigCode\n             1025 \n          \n          Alert\n          Error processing config\n        \n        \n          \n              Probable Cause:Error due to invalid format of Mesheryctl config\n          \n          \n            Suggested Remediation:Make sure Mesheryctl config is in correct format and valid\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrRestartMesheryCode\n             1026 \n          \n          Alert\n          Error restarting Meshery\n        \n        \n          \n              Probable Cause:Meshery is not running\n          \n          \n            Suggested Remediation:Restart Meshery instance\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrMesheryConfigCode\n             1027 \n          \n          Alert\n          \n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          error processing config\n        \n    \n           \n        \n          \n            \n            ErrReadFilepathCode\n             1028 \n          \n          Alert\n          \n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrNoProfileNameCode\n             1029 \n          \n          Alert\n          \n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          please enter a profile-name\n        \n    \n           \n        \n          \n            \n            ErrNoTestURLCode\n             1030 \n          \n          Alert\n          \n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          please enter a test URL\n        \n    \n           \n        \n          \n            \n            ErrNotValidURLCode\n             1031 \n          \n          Alert\n          \n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          please enter a valid test URL\n        \n    \n           \n        \n          \n            \n            ErrFailMarshalCode\n             1032 \n          \n          Alert\n          \n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          failed to marshal values\n        \n    \n           \n        \n          \n            \n            ErrAttachAuthTokenCode\n             1033 \n          \n          \n          \n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrFailRequestCode\n             1034 \n          \n          \n          \n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrFailReqStatusCode\n             1035 \n          \n          \n          \n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrFailUnmarshalCode\n             1036 \n          \n          Alert\n          \n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          failed to unmarshal response body\n        \n    \n           \n        \n          \n            \n            ErrNoProfileFoundCode\n             1037 \n          \n          Alert\n          \n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          no profiles found with given name\n        \n    \n           \n        \n          \n            \n            ErrFailTestRunCode\n             1038 \n          \n          Alert\n          \n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          failed to run test\n        \n    \n           \n        \n          \n            \n            ErrInvalidOutputChoiceCode\n             1039 \n          \n          Alert\n          \n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          output-format choice invalid, use [json|yaml]\n        \n    \n           \n        \n          \n            \n            ErrUnauthenticatedCode\n             1040 \n          \n          \n          \n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrFailRequestCode\n             1044 \n          \n          \n          \n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrFailReqStatusCode\n             1045 \n          \n          \n          \n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrAttachAuthTokenCode\n             1046 \n          \n          \n          \n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrInitPortForwardCode\n             1047 \n          \n          \n          \n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrRunPortForwardCode\n             1048 \n          \n          Fatal\n          Failed to run port-forward\n        \n        \n          \n              Probable Cause:Meshery pod is not in running phase\nmesheryctl can't connect to kubernetes with client-go\n          \n          \n            Suggested Remediation:Make sure Meshery pod exists and is in running state\nCheck if mesheryctl is connected to kubernetes with `mesheryctl system check`\n          \n          \n          Long Description:\n          Error running port-forward for Meshery\n        \n    \n           \n        \n          \n            \n            ErrFailedGetEphemeralPortCode\n             1049 \n          \n          \n          \n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrProcessingConfigCode\n             1050 \n          \n          Alert\n          Error processing config\n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          Error processing config\n        \n    \n           \n        \n          \n            \n            ErrCreatingConfigFileCode\n             1051 \n          \n          Alert\n          Unable to create config file\n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          Unable to create config file\n        \n    \n           \n        \n          \n            \n            ErrAddingTokenToConfigCode\n             1052 \n          \n          Alert\n          Unable to add token to config\n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          Unable to add token to config\n        \n    \n           \n        \n          \n            \n            ErrAddingContextToConfigCode\n             1053 \n          \n          Alert\n          Unable to add context to config\n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          Unable to add context to config\n        \n    \n           \n        \n          \n            \n            ErrUnmarshallingConfigFileCode\n             1054 \n          \n          Alert\n          Error unmarshalling config file\n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          Error unmarshalling config file\n        \n    \n           \n        \n          \n            \n            ErrGettingRequestContextCode\n             1055 \n          \n          Fatal\n          Unable to add token to config\n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          Unable to add token to config\n        \n    \n           \n        \n          \n            \n            ErrInvalidAPIResponseCode\n             1056 \n          \n          Fatal\n          Invalid API response\n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          Invalid API response\n        \n    \n           \n        \n          \n            \n            ErrUnmarshallingAPIDataCode\n             1057 \n          \n          Fatal\n          Error unmarshalling API data\n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          Error unmarshalling API data\n        \n    \n           \n        \n          \n            \n            ErrConnectingToServerCode\n             1058 \n          \n          Fatal\n          Unable to communicate with Meshery server\n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:See https://docs.meshery.io for help getting started with Meshery\n          \n          \n          Long Description:\n          Unable to communicate with Meshery server\nSee https://docs.meshery.io for help getting started with Meshery\n        \n    \n           \n        \n          \n            \n            ErrSettingDefaultContextToConfigCode\n             1059 \n          \n          \n          \n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n  \n  \nTop\n\n\n\n\n \n               Meshery Adapter for meshery-nginx-sm\n               \n\n  \n    \n      Error Name Error Code\n      Severity\n      Short Description\n    \n  \n  \n    \n           \n        \n          \n            \n            ErrEmptyConfigCode\n             1000 \n          \n          Alert\n          Config is empty\n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrInstallBinaryCode\n             1001 \n          \n          Alert\n          Failed to change permission of the binary\n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrGetLatestReleasesCode\n             1002 \n          \n          Alert\n          Unable to fetch release info\n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrGetLatestReleaseNamesCode\n             1003 \n          \n          Alert\n          Failed to extract release names\n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrStatusCheckCode\n             1004 \n          \n          Alert\n          Error Bad Status\n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrUnmarshalCode\n             1005 \n          \n          Alert\n          Unable to unmarshal the : \n        \n        \n          \n              Probable Cause:Object is not a valid json object\n          \n          \n            Suggested Remediation:Make sure if the object passed is a valid json\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrCustomOperationCode\n             1006 \n          \n          Alert\n          Error with applying custom operation\n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrInstallNginxCode\n             1007 \n          \n          Alert\n          Error with Nginx installation\n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrMeshConfigCode\n             1008 \n          \n          Alert\n          Error configuration mesh\n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrClientConfigCode\n             1009 \n          \n          Alert\n          Error setting client config\n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrStreamEventCode\n             1010 \n          \n          Alert\n          Error streaming events\n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrSampleAppCode\n             1011 \n          \n          Alert\n          Error with sample app operation\n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrOpInvalidCode\n             1012 \n          \n          Alert\n          Invalid operation\n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrNilClientCode\n             1013 \n          \n          Alert\n          kubernetes client not initialized\n        \n        \n          \n              Probable Cause:kubernetes client not initialized\n          \n          \n            Suggested Remediation:Reconnect the adaptor to Meshery server\n          \n          \n          Long Description:\n          Kubernetes client is nil\n        \n    \n           \n        \n          \n            \n            ErrApplyHelmChartCode\n             1014 \n          \n          Alert\n          Error occured while applying Helm Chart\n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrParseOAMComponentCode\n             1015 \n          \n          Alert\n          error parsing the component\n        \n        \n          \n              Probable Cause:Could not unmarshall configuration component received via ProcessOAM gRPC call into a valid Component struct\n          \n          \n            Suggested Remediation:Check if Meshery Server is creating valid component for ProcessOAM gRPC call. This error should never happen and can be reported as a bug in Meshery Server. Also, check if Meshery Server and adapters are referring to same component struct provided in MeshKit.\n          \n          \n          Long Description:\n          Error occurred while parsing application component in the OAM request made by Meshery Server\n        \n    \n           \n        \n          \n            \n            ErrParseOAMConfigCode\n             1016 \n          \n          Alert\n          error parsing the configuration\n        \n        \n          \n              Probable Cause:Could not unmarshall OAM config recieved via ProcessOAM gRPC call into a valid Config struct\n          \n          \n            Suggested Remediation:Check if Meshery Server is creating valid config for ProcessOAM gRPC call. This error should never happen and can be reported as a bug in Meshery Server. Also, confirm that Meshery Server and Adapters are referring to same config struct provided in MeshKit\n          \n          \n          Long Description:\n          Error occured while parsing configuration in the request made by Meshery Server\n        \n    \n           \n        \n          \n            \n            ErrProcessOAMCode\n             1017 \n          \n          Alert\n          error performing OAM operations\n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrNginxCoreComponentFailCode\n             1018 \n          \n          Alert\n          error in NGINX Service Mesh core component\n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrParseNginxCoreComponentCode\n             1019 \n          \n          Alert\n          Failure to parse core component manifest for NGINX Service Mesh\n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrLoadNamespaceCode\n             1020 \n          \n          Alert\n          Error occured while applying namespace \n        \n        \n          \n              Probable Cause:Trying to access a namespace which is not available\n          \n          \n            Suggested Remediation:Verify presence of namespace. Confirm Meshery ServiceAccount permissions\n          \n          \n          Long Description:\n          \n        \n    \n  \n  \nTop\n\n\n\n\n \n               Meshery Adapter for nsm\n               \n\n  \n    \n      Error Name Error Code\n      Severity\n      Short Description\n    \n  \n  \n    \n           \n        \n          \n            \n            ErrEmptyConfigCode\n             1000 \n          \n          Alert\n          Config is empty\n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrGetLatestReleasesCode\n             1001 \n          \n          Alert\n          unable to fetch release info: \n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrGetLatestReleaseNamesCode\n             1002 \n          \n          Alert\n          failed to extract release names: \n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrInstallNSMCode\n             1003 \n          \n          Alert\n          Error with nsm operation: \n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrCreatingHelmIndexCode\n             1004 \n          \n          Alert\n          Error with nsm operation: \n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrEntryWithAppVersionNotExistsCode\n             1005 \n          \n          Alert\n          Entry: \nwith app version : \ndoes not exists\n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrHelmRepositoryNotFoundCode\n             1006 \n          \n          Alert\n          Either the repo : \ndoes not exists or is corrupt: \n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrDecodeYamlCode\n             1007 \n          \n          Alert\n          Error decoding yaml: \n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrMeshConfigCode\n             1008 \n          \n          Alert\n          Error configuration mesh: \n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrApplyHelmChartCode\n             1009 \n          \n          Alert\n          Error applying helm chart: \n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrConvertingAppVersionToChartVersionCode\n             1010 \n          \n          Alert\n          Error converting app version to chart version: \n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrCreatingNSMMeshClientCode\n             1011 \n          \n          Alert\n          Unable to create a new nsm client: \n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrSampleAppCode\n             1012 \n          \n          Alert\n          Error with sample app operation: \n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrCustomOperationCode\n             1013 \n          \n          Alert\n          Error with custom operation: \n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrOpInvalidCode\n             1014 \n          \n          Alert\n          Invalid operation\n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n  \n  \nTop\n\n\n\n\n \n                meshkit library\n               \n\n  \n    \n      Error Name Error Code\n      Severity\n      Short Description\n    \n  \n  \n    \n           \n        \n          \n            \n            ErrGetCrdNamesCode\n             1001 \n          \n          Alert\n          Error getting crd names\n        \n        \n          \n              Probable Cause:Could not execute kubeopenapi-jsonschema correctly\n          \n          \n            Suggested Remediation:Make sure the binary is valid and correct\nMake sure the filter passed is correct\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrGetSchemasCode\n             1002 \n          \n          Alert\n          Error getting schemas\n        \n        \n          \n              Probable Cause:Schemas Json could not be produced from given crd.\n          \n          \n            Suggested Remediation:Make sure the filter passed is correct\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrGetAPIVersionCode\n             1003 \n          \n          Alert\n          Error getting api version\n        \n        \n          \n              Probable Cause:Api version could not be parsed\n          \n          \n            Suggested Remediation:Make sure the filter passed is correct\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrGetAPIGroupCode\n             1004 \n          \n          Alert\n          Error getting api group\n        \n        \n          \n              Probable Cause:Api group could not be parsed\n          \n          \n            Suggested Remediation:Make sure the filter passed is correct\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrPopulatingYamlCode\n             1005 \n          \n          Alert\n          Error populating yaml\n        \n        \n          \n              Probable Cause:Yaml could not be populated with the returned manifests\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrAbsentFilterCode\n             1006 \n          \n          Alert\n          Error with passed filters\n        \n        \n          \n              Probable Cause:ItrFilter or ItrSpecFilter is either not passed or empty\n          \n          \n            Suggested Remediation:Pass the correct ItrFilter and ItrSpecFilter\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrNoneDatabaseCode\n             11010 \n          \n          Alert\n          No Database selected\n        \n        \n          \n              Probable Cause:database name is empty\n          \n          \n            Suggested Remediation:Input a name for the database\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrDatabaseOpenCode\n             11011 \n          \n          Alert\n          Unable to open database\n        \n        \n          \n              Probable Cause:Database is unreachable\n          \n          \n            Suggested Remediation:Make sure your database is reachable\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrSQLMapUnmarshalJSONCode\n             11012 \n          \n          Alert\n          failed to unmarshal json\n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrSQLMapUnmarshalTextCode\n             11013 \n          \n          Alert\n          failed to unmarshal text\n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrSQLMapMarshalValueCode\n             11014 \n          \n          Alert\n          failed to marshal value\n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrSQLMapUnmarshalScannedCode\n             11015 \n          \n          \n          \n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrSQLMapInvalidScanCode\n             11016 \n          \n          \n          \n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrClosingDatabaseConnectionCode\n             11017 \n          \n          Alert\n          failed to close database connection\n        \n        \n          \n              Probable Cause:Invalid database instance passed.\n          \n          \n            Suggested Remediation:Make sure the DB handler has a valid database instance.\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrApplyManifestCode\n             11021 \n          \n          Alert\n          Error Applying manifest\n        \n        \n          \n              Probable Cause:Manifest could be invalid\n          \n          \n            Suggested Remediation:Make sure manifest yaml is valid\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrServiceDiscoveryCode\n             11022 \n          \n          Alert\n          Error Discovering service\n        \n        \n          \n              Probable Cause:Network not reachable to the service\n          \n          \n            Suggested Remediation:Make sure the endpoint is reachable\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrApplyHelmChartCode\n             11023 \n          \n          Alert\n          Error applying helm chart\n        \n        \n          \n              Probable Cause:Chart could be invalid\n          \n          \n            Suggested Remediation:Make sure to apply valid chart\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrNewKubeClientCode\n             11024 \n          \n          Alert\n          Error creating kubernetes clientset\n        \n        \n          \n              Probable Cause:Kubernetes config is not accessible to meshery or not valid\n          \n          \n            Suggested Remediation:Upload your kubernetes config via the settings dashboard. If uploaded, wait for a minute for it to get initialized\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrNewDynClientCode\n             11025 \n          \n          Alert\n          Error creating dynamic client\n        \n        \n          \n              Probable Cause:Kubernetes config is not accessible to meshery or not valid\n          \n          \n            Suggested Remediation:Upload your kubernetes config via the settings dashboard. If uploaded, wait for a minute for it to get initialized\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrNewDiscoveryCode\n             11026 \n          \n          Alert\n          Error creating discovery client\n        \n        \n          \n              Probable Cause:Discovery resource is invalid or doesnt exist\n          \n          \n            Suggested Remediation:Makes sure the you input valid resource for discovery\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrNewInformerCode\n             11027 \n          \n          Alert\n          Error creating informer client\n        \n        \n          \n              Probable Cause:Informer is invalid or doesnt exist\n          \n          \n            Suggested Remediation:Makes sure the you input valid resource for the informer\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrEndpointNotFoundCode\n             11028 \n          \n          Alert\n          Unable to discover an endpoint\n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrInvalidAPIServerCode\n             11029 \n          \n          Alert\n          Invalid API Server URL\n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrLoadConfigCode\n             11030 \n          \n          Alert\n          Error loading kubernetes config\n        \n        \n          \n              Probable Cause:Kubernetes config is not accessible to meshery or not valid\n          \n          \n            Suggested Remediation:Upload your kubernetes config via the settings dashboard. If uploaded, wait for a minute for it to get initialized\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrValidateConfigCode\n             11031 \n          \n          Alert\n          Validation failed in the kubernetes config\n        \n        \n          \n              Probable Cause:Kubernetes config is not accessible to meshery or not valid\n          \n          \n            Suggested Remediation:Upload your kubernetes config via the settings dashboard. If uploaded, wait for a minute for it to get initialized\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrSelectorBasedMapCode\n             11036 \n          \n          Alert\n          \n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrProtocolBasedMapCode\n             11037 \n          \n          Alert\n          \n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrLableBasedMapCode\n             11038 \n          \n          Alert\n          \n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrPortParsingCode\n             11039 \n          \n          Alert\n          \n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrGenerateServiceCode\n             11040 \n          \n          Alert\n          \n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrConstructingRestHelperCode\n             11041 \n          \n          Alert\n          \n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrCreatingServiceCode\n             11042 \n          \n          Alert\n          \n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrUnmarshalCode\n             11043 \n          \n          Alert\n          Unmarshal unknown error: %s\n        \n        \n          \n              Probable Cause:Invalid object format\n          \n          \n            Suggested Remediation:Make sure to input a valid JSON object\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrUnmarshalInvalidCode\n             11044 \n          \n          Alert\n          Unmarshal invalid error for type: \n        \n        \n          \n              Probable Cause:Invalid object format\n          \n          \n            Suggested Remediation:Make sure to input a valid JSON object\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrUnmarshalSyntaxCode\n             11045 \n          \n          Alert\n          Unmarshal syntax error at offest: \n        \n        \n          \n              Probable Cause:Invalid object format\n          \n          \n            Suggested Remediation:Make sure to input a valid JSON object\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrUnmarshalTypeCode\n             11046 \n          \n          Alert\n          Unmarshal type error at key: %s. Error: %s\n        \n        \n          \n              Probable Cause:Invalid object format\n          \n          \n            Suggested Remediation:Make sure to input a valid JSON object\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrUnmarshalUnsupportedTypeCode\n             11047 \n          \n          Alert\n          Unmarshal unsupported type error at key: \n        \n        \n          \n              Probable Cause:Invalid object format\n          \n          \n            Suggested Remediation:Make sure to input a valid JSON object\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrUnmarshalUnsupportedValueCode\n             11048 \n          \n          Alert\n          Unmarshal unsupported value error at key: \n        \n        \n          \n              Probable Cause:Invalid object format\n          \n          \n            Suggested Remediation:Make sure to input a valid JSON object\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrMarshalCode\n             11049 \n          \n          Alert\n          Marshal error, Description: %s\n        \n        \n          \n              Probable Cause:Invalid object format\n          \n          \n            Suggested Remediation:Make sure to input a valid JSON object\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrGetBoolCode\n             11050 \n          \n          Alert\n          Error while getting Boolean value for key: %s, error: %s\n        \n        \n          \n              Probable Cause:Not a valid boolean\n          \n          \n            Suggested Remediation:Make sure it is a boolean\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrInvalidProtocolCode\n             11051 \n          \n          Alert\n          invalid protocol: only http, https and file are valid protocols\n        \n        \n          \n              Probable Cause:Network protocol is incorrect\n          \n          \n            Suggested Remediation:Make sure to specify the right network protocol\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrRemoteFileNotFoundCode\n             11052 \n          \n          Alert\n          remote file not found at\n        \n        \n          \n              Probable Cause:File doesnt exist in the location\nFile name is incorrect\n          \n          \n            Suggested Remediation:Make sure to input the right file name and location\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrReadingRemoteFileCode\n             11053 \n          \n          Alert\n          error reading remote file\n        \n        \n          \n              Probable Cause:File doesnt exist in the location\nFile name is incorrect\n          \n          \n            Suggested Remediation:Make sure to input the right file name and location\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrReadingLocalFileCode\n             11054 \n          \n          Alert\n          error reading local file\n        \n        \n          \n              Probable Cause:File doesnt exist in the location\nFile name is incorrect\n          \n          \n            Suggested Remediation:Make sure to input the right file name and location\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrViperCode\n             11056 \n          \n          Fatal\n          Viper configuration initialization failed\n        \n        \n          \n              Probable Cause:Viper is crashing\n          \n          \n            Suggested Remediation:Make sure viper is configured properly\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrInMemCode\n             11057 \n          \n          Fatal\n          InMem configuration initialization failed\n        \n        \n          \n              Probable Cause:In memory map is crashing\n          \n          \n            Suggested Remediation:Make sure map is configured properly\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrPodHasNoLabelsCode\n             11058 \n          \n          Alert\n          the pod has no labels and cannot be exposed\n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrServiceHasNoSelectorsCode\n             11059 \n          \n          Alert\n          the service has no pod selector set\n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrInvalidDeploymentNoSelectorsLabelsCode\n             11060 \n          \n          Alert\n          the deployment has no labels or selectors and cannot be exposed\n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrInvalidDeploymentNoSelectorsCode\n             11061 \n          \n          Alert\n          invalid deployment: no selectors, therefore cannot be exposed\n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrInvalidReplicaNoSelectorsLabelsCode\n             11062 \n          \n          Alert\n          the replica set has no labels or selectors and cannot be exposed\n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrInvalidReplicaSetNoSelectorsCode\n             11063 \n          \n          Alert\n          invalid replicaset: no selectors, therefore cannot be exposed\n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrNoPortsFoundForHeadlessResourceCode\n             11064 \n          \n          Alert\n          no ports found for the non headless resource\n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrUnknownSessionAffinityErrCode\n             11065 \n          \n          Alert\n          unknown session affinity:\n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrMatchExpressionsConvertionErrCode\n             11066 \n          \n          Alert\n          couldn't convert expressions - to map-based selector format\n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrFailedToExtractPodSelectorErrCode\n             11067 \n          \n          Alert\n          cannot extract pod selector from \n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrFailedToExtractPortsCode\n             11068 \n          \n          Alert\n          cannot extract ports from \n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrFailedToExtractProtocolsErrCode\n             11069 \n          \n          Alert\n          cannot extract protocols from \n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrCannotExposeObjectErrCode\n             11070 \n          \n          Alert\n          cannot expose a \n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrControllerCode\n             11071 \n          \n          Alert\n          \n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrInvalidSizeFileCode\n             11072 \n          \n          Alert\n          \n        \n        \n          \n              Probable Cause:Given file size is either 0 or exceeds the limit of 50 MB\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          Could not read the file while walking the repo\n        \n    \n           \n        \n          \n            \n            ErrCloningRepoCode\n             11073 \n          \n          Alert\n          could not clone the repo\n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n  \n  \nTop\n\n\n\n\n \n               Meshery Adapter for meshery-traefik-mesh\n               \n\n  \n    \n      Error Name Error Code\n      Severity\n      Short Description\n    \n  \n  \n    \n           \n        \n          \n            \n            ErrApplyHelmChartCode\n             1012 \n          \n          Alert\n          Error occured while applying Helm Chart\n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrNilClientCode\n             1013 \n          \n          Alert\n          kubernetes client not initialized\n        \n        \n          \n              Probable Cause:kubernetes client not initialized\n          \n          \n            Suggested Remediation:Reconnect the adapter to Meshery server\n          \n          \n          Long Description:\n          Kubernetes client is nil\n        \n    \n           \n        \n          \n            \n            ErrInvalidOAMComponentTypeCode\n             1014 \n          \n          Alert\n          invalid OAM component name: \n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrTraefikCoreComponentFailCode\n             1015 \n          \n          Alert\n          error in Traefik core component\n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrProcessOAMCode\n             1016 \n          \n          Alert\n          error performing OAM operations\n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrParseTraefikCoreComponentCode\n             1017 \n          \n          Alert\n          Traefik core component manifest parsing failing\n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrParseOAMComponentCode\n             1018 \n          \n          Alert\n          error parsing the component\n        \n        \n          \n              Probable Cause:Could not unmarshall configuration component received via ProcessOAM gRPC call into a valid Component struct\n          \n          \n            Suggested Remediation:Check if Meshery Server is creating valid component for ProcessOAM gRPC call. This error should never happen and can be reported as a bug in Meshery Server. Also, check if Meshery Server and adapters are referring to same component struct provided in MeshKit.\n          \n          \n          Long Description:\n          Error occurred while parsing application component in the OAM request made by Meshery Server\n        \n    \n           \n        \n          \n            \n            ErrParseOAMConfigCode\n             1019 \n          \n          Alert\n          error parsing the configuration\n        \n        \n          \n              Probable Cause:Could not unmarshall OAM config received via ProcessOAM gRPC call into a valid Config struct\n          \n          \n            Suggested Remediation:Check if Meshery Server is creating valid config for ProcessOAM gRPC call. This error should never happen and can be reported as a bug in Meshery Server. Also, confirm that Meshery Server and Adapters are referring to same config struct provided in MeshKit\n          \n          \n          Long Description:\n          Error occurred while parsing configuration in the request made by Meshery Server\n        \n    \n           \n        \n          \n            \n            ErrGetLatestReleaseCode\n             1020 \n          \n          Alert\n          Could not get latest version\n        \n        \n          \n              Probable Cause:Latest version could not be found at the specified url\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrEmptyConfigCode\n             1029 \n          \n          Alert\n          Config is empty\n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrGetLatestReleasesCode\n             1030 \n          \n          Alert\n          Unable to fetch release info\n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrGetLatestReleaseNamesCode\n             1031 \n          \n          Alert\n          Failed to extract release names\n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrInstallTraefikCode\n             1032 \n          \n          Alert\n          Error with traefik operation\n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrCreatingHelmIndexCode\n             1033 \n          \n          Alert\n          Error while creating Helm Index\n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrEntryWithAppVersionNotExistsCode\n             1034 \n          \n          Alert\n          Entry for the app version does not exist\n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrHelmRepositoryNotFoundCode\n             1035 \n          \n          Alert\n          Helm repo not found\n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrDecodeYamlCode\n             1036 \n          \n          Alert\n          Error occured while decoding YAML\n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrMeshConfigCode\n             1037 \n          \n          Alert\n          Error configuration mesh\n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrConvertingAppVersionToChartVersionCode\n             1038 \n          \n          Alert\n          Error occured while converting app version to chart version\n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrCreatingTraefikMeshClientCode\n             1039 \n          \n          Alert\n          Unable to create a new NSM client\n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrSampleAppCode\n             1040 \n          \n          Alert\n          Error with sample app operation\n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrCustomOperationCode\n             1041 \n          \n          Alert\n          Error with custom operation\n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrOpInvalidCode\n             1042 \n          \n          Alert\n          Invalid operation\n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n  \n  \nTop\n\n\n\n\n \n               Meshery Adapter for cilium\n               \n\n  \n    \n      Error Name Error Code\n      Severity\n      Short Description\n    \n  \n  \n    \n           \n        \n          \n            \n            ErrInstallCiliumCode\n             1000 \n          \n          Alert\n          Error with Cilium operation\n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          Error occured while installing Cilium mesh through Cilium\n        \n    \n           \n        \n          \n            \n            ErrTarXZFCode\n             1001 \n          \n          Alert\n          Error while extracting file\n        \n        \n          \n              Probable Cause:The gzip might be corrupt\n          \n          \n            Suggested Remediation:Retry the operation\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrMeshConfigCode\n             1002 \n          \n          Alert\n          Error configuration mesh\n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:Reconnect the adaptor to the meshkit server\n          \n          \n          Long Description:\n          Error getting MeshSpecKey config from in-memory configuration\n        \n    \n           \n        \n          \n            \n            ErrRunCiliumCmdCode\n             1003 \n          \n          Alert\n          Error running cilium command\n        \n        \n          \n              Probable Cause:Corrupted cilium binary\nCommand might be invalid\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrDownloadBinaryCode\n             1004 \n          \n          Alert\n          Error downloading Cilium binary\n        \n        \n          \n              Probable Cause:Checkout https://docs.github.com/en/rest/reference/repos#releases for more details\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          Error occured while download Cilium binary from its github release\n        \n    \n           \n        \n          \n            \n            ErrInstallBinaryCode\n             1005 \n          \n          Alert\n          Error installing Cilium binary\n        \n        \n          \n              Probable Cause:Corrupted Cilium release binary\nInvalid installation location\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrSampleAppCode\n             1006 \n          \n          Alert\n          Error with sample app operation\n        \n        \n          \n              Probable Cause:Invalid kubeclient config\nInvalid manifest\n          \n          \n            Suggested Remediation:Reconnect your adapter to Meshery Server to refresh the kubeclient\n          \n          \n          Long Description:\n          Error occured while trying to install a sample application using manifests\n        \n    \n           \n        \n          \n            \n            ErrCustomOperationCode\n             1007 \n          \n          Alert\n          Error with custom operation\n        \n        \n          \n              Probable Cause:Invalid kubeclient config\nInvalid manifest\n          \n          \n            Suggested Remediation:Upload the kubconfig in the Meshery Server and reconnect the adapter\n          \n          \n          Long Description:\n          Error occured while applying custom manifest to the cluster\n        \n    \n           \n        \n          \n            \n            ErrCreatingNSCode\n             1008 \n          \n          Alert\n          Error creating namespace\n        \n        \n          \n              Probable Cause:Invalid kubeclient config\nInvalid manifest\n          \n          \n            Suggested Remediation:Upload the kubeconfig in the Meshery Server and reconnect the adapter\n          \n          \n          Long Description:\n          Error occured while applying manifest to create a namespace\n        \n    \n           \n        \n          \n            \n            ErrRunExecutableCode\n             1009 \n          \n          Alert\n          Error running executable\n        \n        \n          \n              Probable Cause:Corrupted binary\nInvalid operation\n          \n          \n            Suggested Remediation:Check if the adaptor is executing a deprecated command\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrSidecarInjectionCode\n             1010 \n          \n          \n          \n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrOpInvalidCode\n             1011 \n          \n          Alert\n          Invalid operation\n        \n        \n          \n              Probable Cause:The operation is not supported by the adapter\nInvalid operation name\n          \n          \n            Suggested Remediation:Check if the operation name is valid and supported by the adapter\n          \n          \n          Long Description:\n          Cilium adapter recived an invalid operation from the meshey server\n        \n    \n           \n        \n          \n            \n            ErrApplyHelmChartCode\n             1012 \n          \n          Alert\n          Error occured while applying Helm Chart\n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrNilClientCode\n             1013 \n          \n          Alert\n          kubernetes client not initialized\n        \n        \n          \n              Probable Cause:kubernetes client not initialized\n          \n          \n            Suggested Remediation:Reconnect the adaptor to Meshery server\n          \n          \n          Long Description:\n          Kubernetes client is nil\n        \n    \n           \n        \n          \n            \n            ErrInvalidOAMComponentTypeCode\n             1014 \n          \n          Alert\n          invalid OAM component name: \n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrCiliumCoreComponentFailCode\n             1015 \n          \n          Alert\n          error in Cilium core component\n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrProcessOAMCode\n             1016 \n          \n          Alert\n          error performing OAM operations\n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrParseCiliumCoreComponentCode\n             1017 \n          \n          Alert\n          Cilium core component manifest parsing failing\n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrParseOAMComponentCode\n             1018 \n          \n          Alert\n          error parsing the component\n        \n        \n          \n              Probable Cause:Invalid OAM component passed in OAM request\n          \n          \n            Suggested Remediation:Check if your request has vaild OAM components\n          \n          \n          Long Description:\n          Error occured while prasing application component in the OAM request made\n        \n    \n           \n        \n          \n            \n            ErrParseOAMConfigCode\n             1019 \n          \n          Alert\n          error parsing the configuration\n        \n        \n          \n              Probable Cause:Invalid OAM config passed in OAM request\n          \n          \n            Suggested Remediation:Check if your request has vaild OAM config\n          \n          \n          Long Description:\n          Error occured while prasing component config in the OAM request made\n        \n    \n           \n        \n          \n            \n            ErrGetLatestReleaseCode\n             1020 \n          \n          Alert\n          Could not get latest version\n        \n        \n          \n              Probable Cause:Latest version could not be found at the specified url\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrEmptyConfigCode\n             1021 \n          \n          Alert\n          Config is empty\n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrGetLatestReleasesCode\n             1022 \n          \n          Alert\n          Unable to fetch release info\n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrGetLatestReleaseNamesCode\n             1023 \n          \n          Alert\n          Failed to extract release names\n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrGetManifestNamesCode\n             1024 \n          \n          Alert\n          Unable to fetch manifest names from github\n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrMakingBinExecutableCode\n             1025 \n          \n          Alert\n          Error while making cilium cli an executable\n        \n        \n          \n              Probable Cause:Download might be corrupted.\n          \n          \n            Suggested Remediation:Please retry operation.\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrLoadNamespaceCode\n             1026 \n          \n          Alert\n          Error occured while applying namespace \n        \n        \n          \n              Probable Cause:Trying to access a namespace which is not available\n          \n          \n            Suggested Remediation:Verify presence of namespace. Confirm Meshery ServiceAccount permissions\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrUnpackingTarCode\n             1027 \n          \n          Alert\n          Error occured while unpacking tar\n        \n        \n          \n              Probable Cause:The gzip might be corrupt\n          \n          \n            Suggested Remediation:Please retry operation.\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrUnzipFileCode\n             1028 \n          \n          Alert\n          Error while unzipping\n        \n        \n          \n              Probable Cause:File might be corrupt\n          \n          \n            Suggested Remediation:Please retry operation.\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrDownloadingTarCode\n             1029 \n          \n          Alert\n          Error occured while downloading Cilium tar\n        \n        \n          \n              Probable Cause:Error occured while download cilium tar from its release url\n          \n          \n            Suggested Remediation:Checkout https://github.com/cilium/cilium-cli/releases/download//cilium--.tar.gz for more details\n          &lt;/td&gt;\n          \n          Long Description:\n          \n        &lt;/tr&gt;\n    \n           \n        \n          \n            \n            ErrGettingReleaseCode\n             1030 \n          \n          Alert\n          Could not get latest version\n        \n        \n          \n              Probable Cause:Latest version could not be found at the specified url\n          \n          \n            Suggested Remediation:Verify network connectivity.\nEnsure github.com is reachable.\nTry retrying the operation.\n          \n          \n          Long Description:\n          \n        \n    \n  &lt;/tbody&gt;\n  &lt;/table&gt;\n  Top\n  \n  \n\n\n\n    \n    \n      \n          \n           \n            \n\n\n      \n          \n           \n            \n            \n            \n            \n            \n\n \n                meshery-adapter-library library\n               \n  \n  \n    \n      Error Name Error Code\n      Severity\n      Short Description\n    \n  \n  \n    \n           \n        \n          \n            \n            ErrGetNameCode\n             1000 \n          \n          \n          \n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrCreateInstanceCode\n             1001 \n          \n          \n          \n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrMeshConfigCode\n             1002 \n          \n          \n          \n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrValidateKubeconfigCode\n             1003 \n          \n          \n          \n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrClientConfigCode\n             1004 \n          \n          \n          \n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrClientSetCode\n             1005 \n          \n          \n          \n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrStreamEventCode\n             1006 \n          \n          \n          \n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrOpInvalidCode\n             1007 \n          \n          \n          \n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrApplyOperationCode\n             1008 \n          \n          \n          \n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrListOperationsCode\n             1009 \n          \n          \n          \n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrNewSmiCode\n             1010 \n          \n          \n          \n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n           \n        \n          \n            \n            ErrRunSmiCode\n             1011 \n          \n          \n          \n        \n        \n          \n              Probable Cause:\n          \n          \n            Suggested Remediation:\n          \n          \n          Long Description:\n          \n        \n    \n  \n  \n  Top"
					}




					,

					"extensibility": {
						"id": "extensibility",
						"title": "Extensibility",
						"categories": "",
						"url": " /extensibility",
						"content": "Meshery has an extensible architecture with several extension points. Meshery provides several extension points for working with different service meshes via adapters, different load generators and different providers. Meshery also offers a REST API.\n\nGuiding Principles for Extensibility\n\nThe following principles are upheld in the design of Meshery’s extensibility.\n\n\n  Recognize that different deployment environments have different systems to integrate with.\n  Offer a default experience that provides the optimal user experience.\n\n\nExtension Points\n\nMeshery is not just an application. It is a set of microservices where the central component is itself called Meshery. Integrators may extend Meshery by taking advantage of designated Extension Points. Extension points come in various forms and are available through Meshery’s architecture.\n\n\n\nFigure: Extension points available throughout Meshery\n\nThe following points of extension are currently incorporated into Meshery.\n\nTypes of Extension Points\n\n\n  Adapters\n    \n      Messsaging Framework (CloudEvents and NATS)\n    \n  \n  GraphQL API\n  Load Generators\n  Patterns (Open Application Model (OAM))\n  Providers\n  REST API\n  UI Plugins"
					}




					,

					"es-extensibility": {
						"id": "es-extensibility",
						"title": "Extensibilidad",
						"categories": "",
						"url": " /es/extensibility",
						"content": "Meshery tiene una arquitectura extensible con varios puntos de extensión. Meshery proporciona varios puntos de extensión para trabajar con diferentes mallas de servicio a través de adaptadores, diferentes generadores de carga y diferentes proveedores. Meshery también ofrece un REST API.\n\nPrincipios rectores de la extensibilidad\n\nLos siguientes principios se mantienen en el diseño de la extensibilidad de Meshery.\n\n\n  Reconozca que los diferentes entornos de implementación tienen diferentes sistemas para integrarse.\n  Ofrezca una experiencia predeterminada que proporcione la experiencia de usuario óptima.\n\n\nPuntos de Extensión\n\nMeshery no es solo una aplicación. Es un conjunto de microservicios donde el componente central se llama Meshery. Los integradores pueden extender Meshery aprovechando los puntos de extensión designados. Los puntos de extensión vienen en varias formas y están disponibles a través de la arquitectura de Meshery.\n\n\n\nFigura: Puntos de extensión disponibles en Meshery\n\nLos siguientes puntos de extensión están incorporados actualmente a Meshery.\n\nTipos de Puntos de Extensión\n\n\n  Proveedores\n  Generadores de Carga\n  Adaptadores\n  API REST\n  API GraphQL"
					}




					,

					"feed-xml": {
						"id": "feed-xml",
						"title": "",
						"categories": "",
						"url": " /feed.xml",
						"content": "Documentation\n    Meshery is the open source, cloud native management plane that enables the adoption, operation, and management of Kubernetes, any service mesh, and their workloads.\n\n    http://localhost:4000/\n    \n    Fri, 02 Sep 2022 19:55:00 +0530\n    Fri, 02 Sep 2022 19:55:00 +0530\n    Jekyll v3.9.2"
					}




					,

					"functionality-filter-management": {
						"id": "functionality-filter-management",
						"title": "Filter Management",
						"categories": "",
						"url": " /functionality/filter-management",
						"content": "Frequently Asked Questions\nQ: What is Envoy proxy?\n\nAn Envoy is a high performance, programmable L3/L4 and L7 proxy that a number of service mesh use as their data plane. See the service mesh landscape for a complete list. Connection and request handling are at the core of Envoy’s focus. Envoy’s has a pluggable filter module that allows the incorporation of WebAssembly filters that provide additional traffic filtering intelligence. Often this includes higher order functions such as access control, transformation, data enrichment, auditing and more.\n\nQ: What is WASM ?\nWebAssembly is a low-level assembly-like language with a compact binary format that runs with near-native performance and provides languages such as C/C++, C# and Rust with a compilation target so that they can run in many different environments, including behind Envoy’s Application Binary Interface to extend Envoy with new capabilities. WASM programs are distributed in an efficient portable binary instruction format and embed into isolated execution environments.\n\n&lt;–\nQ: Why does Meshery provide and manage WASM filters?\n\nMeshery manages WASM filters for data plane proxies for:\n\n\n  Agility: in partnership with service mesh control planes, Meshery can dynamically load, configure, and unload filter(s) in running Envoy proxies.\n  Maintainability: To extend the functionality we don’t have to change the entire codebase.\n  Diversity : WASM filters can be easily compiled with many popular programming languages like C/C++ and Rust.\n  Reliability and isolation : WASM filters are deployed into VM and hence they are isolated from the Envoy process. For instance if the WASM filter crashes it will not impact the envoy process.\n  Security : The WASM filter uses a well defined API to connect with the host i.e envoy proxy which can be modified only a limited number of connections.\n  Speed : It is originally used to speed up large web application\n\n\n–&gt;\n\nQ: What are the disadvantages of WASM filters to be taken into consideration?\n\nExecution of WASM filters requires system resources. Just as executing the same functionality that your filter provides outside of the WASM virtual machine, resources can include overhead of latency, CPU, and memory. See the Service Mesh Performance project for more detail.\n\nQ: What is the Envoy Proxy WASM SDK?\n\nEnvoy proxy runs the WASM filter in a stack-based virtual machine so that the filter memory is isolated from the host environment. The interaction between the embedded host i.e. Envoy proxy and the WASM filter are done via call backs and functions by the Envoy Proxy WASM SDK. The Envoy Proxy WASM SDK is implemented in various programming languages like C++, RUST, AssemblyScript and GO(still experimental)\n\nQ: What is Image Hub ?\n\nImage Hub is a sample application which was first officially demonstrated at DockerCon 2020. This sample application is written to run on consul to explore the  WebAssembly (WASM) modules in the Envoy filter. This application is written in the RUST programming language. These modules are used to implement the multi-tenancy or to implement the per user rate limiting in the applications endpoint."
					}




					,

					"es-installation-platforms-gke": {
						"id": "es-installation-platforms-gke",
						"title": "GKE",
						"categories": "",
						"url": " /es/installation/platforms/gke",
						"content": "Inicio rápido con Google Kubernetes Engine (GKE)\n\nPara otorgar a Meshery el acceso necesario a su instancia de Kubernetes administrada,\nMeshery deberá tener asignada una ServiceAccount ( Cuenta de servicio ). Se puede utilizar una ServiceAccount existente o crear una nueva. Asegúrese de que la ServiceAccount que utilize tenga asignada el rol de cluster-admin.\n\nMeshery usará esta ServiceAccount para interactuar con su instancia administrada de Kubernetes. Utilice cualquiera de los dos métodos siguientes para preparar un archivo kubeconfig compatible:\n\n\n  Configuración automática\n  Configuración manual\n\n\nConfiguración Automática (Recomendada)\n\n\n  En su navegador, navegue hasta Meshery (por ejemplo, http://localhost:9081) e inicie sesión.\n  Descargue su token de autenticación de Meshery haciendo clic en Get Token debajo de su perfil de usuario.\n  Utilice este token de autenticación para ejecutar el siguiente comando:\n    $ mesheryctl system config gke --token &lt;RUTA AL ARCHIVO DE TOKEN&gt;\n    \n  \n\n\nEste comando actualiza su kubeconfig para proporcionar a Meshery acceso a su instancia administrada de Kubernetes.\nUna vez configurado, proceda con Meshery (mesheryctl system start).\n\nConfiguración Manual (Opcional)\n\nSi el procedimiento Configuración automática falla ó si desea preparar manualmente su archivo kubeconfig para proporcionar a Meshery el acceso necesario a su instancia administrada de Kubernetes, realice las siguientes acciones:\n\n\n  Descargue el script de shell generate_kubeconfig_gke.sh.\n  \n    Ejecute este script de shell que identifica el nombre de la cuenta de servicio y los argumentos del espacio de nombres, de esta manera:\n\n    ./generate_kubeconfig_gke.sh cluster-admin-sa-gke default\n    \n  \n  \n    Una vez que el script haya terminado por completo, puede proceder a iniciar Meshery con la configuración compatible con GKE ejecutando:\n\n    $ mesheryctl system start\n    \n  \n  En su navegador, navegue hasta Meshery (por ejemplo,, http://localhost:9081) e inicie su sesión.\n  En la sección Settings–&gt;Environment, introduzca el archivo generado (config-cluster-admin-sa-gke-default.yaml) como el archivo kubeconfig.\n\n\nMeshery ahora debería estar conectado con su instancia administrada de Kubernetes. Entre a visualizar las guías Meshery para que obtenga consejos de uso avanzado."
					}




					,

					"installation-platforms-gke": {
						"id": "installation-platforms-gke",
						"title": "GKE",
						"categories": "",
						"url": " /installation/platforms/gke",
						"content": "Quick Start with GKE \n\nPrerequisites  \n\n1. Install the Meshery command line client, \n\n    mesheryctl\n.\n\n\nTo set up and run Meshery on GKE\n\nIn order to provide Meshery with the necessary access to your managed Kubernetes instance, \nMeshery will need to be assigned a ServiceAccount. An existing ServiceAccount can be used or a new one created. Ensure that the ServiceAccount you use has the cluster-admin role assigned.\n\nMeshery will use this ServiceAccount to interact with your managed Kubernetes instance. Use either of the following two methods to prepare a compatible kubeconfig file:\n\n\n  Automatic Configuration\n  Manual configuration\n\n\nAutomatic Configuration (Recommended)\n\n\n  In your browser, navigate to Meshery (e.g., http://localhost:9081) and login.\n  Download your Meshery authentication token by clicking Get Token under your user profile.\n  Use this authentication token to execute the following command:\n\n\n\n \n $ mesheryctl system config gke --token *PATH_TO_TOKEN*\n \n \n\nThis command updates your kubeconfig to provide Meshery with access to your managed Kubernetes instance.\nOnce configured, proceed with using Meshery:\nmesheryctl system start\n\nMeshery server supports customizing authentication flow callback URL, which can be configured in the following way\nMESHERY_SERVER_CALLBACK_URL=https://custom-host mesheryctl system start\n\nManual Configuration (Optional)\n\nIf the Automatic Configuration procedure fails or you would like to manually prepare your kubeconfig file to provide Meshery with the necessary access to your managed Kubernetes instance, perform the following actions:\n\n\n  Download the generate_kubeconfig_gke.sh shell script.\n  \n    Execute this shell script identifying ServiceAccount name and Namespace arguments, like so:\n\n    \n \n ./generate_kubeconfig_gke.sh cluster-admin-sa-gke default\n \n \n  \n  \n    Once the script is complete, you may proceed to start Meshery with the GKE-compatible configuration by executing:\n\n    \n \n $ mesheryctl system start\n \n \n    \n      Meshery server supports customizing authentication flow callback URL, which can be configured in the following way\n    \n    \n \n $ MESHERY_SERVER_CALLBACK_URL=https://custom-host mesheryctl system start\n \n \n  \n  In your browser, navigate to Meshery (e.g., http://localhost:9081) and login.\n  Under Settings –&gt; Environment, provide the generated file (config-cluster-admin-sa-gke-default.yaml) as the kubeconfig file.\n\n\nMeshery should now be connected with your managed Kubernetes instance. Take a look at the Meshery guides for advanced usage tips."
					}




					,

					"reference-graphql-apis": {
						"id": "reference-graphql-apis",
						"title": "GraphQL API Reference",
						"categories": "",
						"url": " /reference/graphql-apis",
						"content": "Self-generated API documentation for Meshery’s GraphQL API. The API can be explored interactively using the GraphQL Playground. Documentation is generated from Meshery’s GraphQL schema. Each table below documents a GraphQL type.\n\nWARNING:\nFields that are deprecated are marked with {warning-solid}.\n\n\n\nQuery type\n\nThe Query type contains the API’s top-level entry points for all executable queries.\n\nQuery.connectToNats\n\nCheck is Meshey Server is connected to NATS, if not connect to the NATS Server.\n\nReturns Status!.\n\nArguments\n\n\n  \n    \n      Name\n      Type\n      Description\n    \n  \n  \n    \n      k8scontextID\n      String!\n       \n    \n  \n\n\nQuery.deployMeshsync\n\nCheck the Meshsync Status and deploy if not enabled.\n\nReturns Status!.\n\nArguments\n\n\n  \n    \n      Name\n      Type\n      Description\n    \n  \n  \n    \n      k8scontextID\n      String!\n      what to do in-order to deploy meshsync on multiple clusters/contexts.\n    \n  \n\n\nQuery.fetchAllResults\n\nQuery for fetching all results for profile ID.\n\nReturns PerfPageResult!.\n\nArguments\n\n\n  \n    \n      Name\n      Type\n      Description\n    \n  \n  \n    \n      selector\n      PageFilter!\n       \n    \n  \n\n\nQuery.fetchPatterns\n\nQuery for fetching all patterns with selector.\n\nReturns PatternPageResult!.\n\nArguments\n\n\n  \n    \n      Name\n      Type\n      Description\n    \n  \n  \n    \n      selector\n      PageFilter!\n       \n    \n  \n\n\nQuery.fetchResults\n\nQuery for fetching all results for profile ID.\n\nReturns PerfPageResult!.\n\nArguments\n\n\n  \n    \n      Name\n      Type\n      Description\n    \n  \n  \n    \n      profileID\n      String!\n       \n    \n    \n      selector\n      PageFilter!\n       \n    \n  \n\n\nQuery.getAvailableAddons\n\nQuery details about Addons available (Eg. Prometheus and Grafana).\n\nReturns [AddonList!]!.\n\nArguments\n\n\n  \n    \n      Name\n      Type\n      Description\n    \n  \n  \n    \n      filter\n      ServiceMeshFilter\n      Select Mesh Type.\n    \n  \n\n\nQuery.getAvailableNamespaces\n\nQuery available Namesapces in your cluster.\n\nReturns [NameSpace!]!.\n\nArguments\n\n\n  \n    \n      Name\n      Type\n      Description\n    \n  \n  \n    \n      k8sClusterIDs\n      [String!]\n       \n    \n  \n\n\nQuery.getControlPlanes\n\nQuery Control Plane data for a Service Mesh (or all) in your cluster.\n\nReturns [ControlPlane!]!.\n\nArguments\n\n\n  \n    \n      Name\n      Type\n      Description\n    \n  \n  \n    \n      filter\n      ServiceMeshFilter\n      Filter Control Plane Query.\n    \n  \n\n\nQuery.getDataPlanes\n\nQuery Data Plane information for a Service Mesh (or all) in your cluster.\n\nReturns [DataPlane!]!.\n\nArguments\n\n\n  \n    \n      Name\n      Type\n      Description\n    \n  \n  \n    \n      filter\n      ServiceMeshFilter\n      Filter Control Plane Query.\n    \n  \n\n\nQuery.getKubectlDescribe\n\nQuery for getting kubectl describe details with meshkit.\n\nReturns KctlDescribeDetails!.\n\nArguments\n\n\n  \n    \n      Name\n      Type\n      Description\n    \n  \n  \n    \n      kind\n      String!\n       \n    \n    \n      name\n      String!\n       \n    \n    \n      namespace\n      String!\n       \n    \n  \n\n\nQuery.getMeshsyncStatus\n\nCheck the Meshsync Status.\n\nReturns OperatorControllerStatus!.\n\nArguments\n\n\n  \n    \n      Name\n      Type\n      Description\n    \n  \n  \n    \n      k8scontextID\n      String!\n       \n    \n  \n\n\nQuery.getNatsStatus\n\nCheck is Meshey Server is connected to NATS.\n\nReturns OperatorControllerStatus!.\n\nArguments\n\n\n  \n    \n      Name\n      Type\n      Description\n    \n  \n  \n    \n      k8scontextID\n      String!\n       \n    \n  \n\n\nQuery.getOperatorStatus\n\nQuery status of Meshery Operator in your cluster.\n\nReturns OperatorStatus.\n\nArguments\n\n\n  \n    \n      Name\n      Type\n      Description\n    \n  \n  \n    \n      k8scontextID\n      String!\n       \n    \n  \n\n\nQuery.getPerfResult\n\nQuery for performance result.\n\nReturns MesheryResult.\n\nArguments\n\n\n  \n    \n      Name\n      Type\n      Description\n    \n  \n  \n    \n      id\n      ID!\n       \n    \n  \n\n\nQuery.getPerformanceProfiles\n\nQuery for fetching all results for profile ID.\n\nReturns PerfPageProfiles!.\n\nArguments\n\n\n  \n    \n      Name\n      Type\n      Description\n    \n  \n  \n    \n      selector\n      PageFilter!\n       \n    \n  \n\n\nQuery.getScopes\n\nQuery for getting scopes.\n\nReturns [OAMCapability].\n\nArguments\n\n\n  \n    \n      Name\n      Type\n      Description\n    \n  \n  \n    \n      id\n      ID\n       \n    \n    \n      name\n      String\n       \n    \n    \n      trim\n      Boolean\n       \n    \n  \n\n\nQuery.getTraits\n\nQuery for getting traits.\n\nReturns [OAMCapability].\n\nArguments\n\n\n  \n    \n      Name\n      Type\n      Description\n    \n  \n  \n    \n      id\n      ID\n       \n    \n    \n      name\n      String\n       \n    \n    \n      trim\n      Boolean\n       \n    \n  \n\n\nQuery.getWorkloads\n\nQuery for getting workloads.\n\nReturns [OAMCapability].\n\nArguments\n\n\n  \n    \n      Name\n      Type\n      Description\n    \n  \n  \n    \n      id\n      ID\n       \n    \n    \n      name\n      String\n       \n    \n    \n      trim\n      Boolean\n       \n    \n  \n\n\nQuery.resyncCluster\n\nQuery to resync the cluster discovery.\n\nReturns Status!.\n\nArguments\n\n\n  \n    \n      Name\n      Type\n      Description\n    \n  \n  \n    \n      k8scontextID\n      String!\n       \n    \n    \n      selector\n      ReSyncActions\n      Selector to control several resync actions.\n    \n  \n\n\nMutation type\n\nThe Mutation type contains all the mutations you can execute.\n\nAll mutations receive their arguments in a single input object named input.\n\nMutation.changeOperatorStatus\n\nChange the Operator Status.\n\nInput type: OperatorStatusInput\n\nArguments\n\n\n  \n    \n      Name\n      Type\n      Description\n    \n  \n  \n    \n      contextID\n      String!\n       \n    \n    \n      targetStatus\n      Status!\n      Desired status for Meshery Operator.\n    \n  \n\n\nReturns Status!.\n\nSubscription type\n\nThe Subscription type contains all the Subscriptions you can listen to.\n\nSubscription.listenToAddonState\n\nListen to changes in status of Addons available (Eg. Prometheus and Grafana).\n\nReturns [AddonList!]!.\n\nArguments\n\n\n  \n    \n      Name\n      Type\n      Description\n    \n  \n  \n    \n      filter\n      ServiceMeshFilter\n      Select Mesh Type.\n    \n  \n\n\nSubscription.listenToControlPlaneState\n\nListen to changes in Control Plane data for a Service Mesh (or all) in your cluster.\n\nReturns [ControlPlane!]!.\n\nArguments\n\n\n  \n    \n      Name\n      Type\n      Description\n    \n  \n  \n    \n      filter\n      ServiceMeshFilter\n      Filter Control Plane Query.\n    \n  \n\n\nSubscription.listenToDataPlaneState\n\nListen to changes in Data Plane data for a Service Mesh (or all) in your cluster.\n\nReturns [DataPlane!]!.\n\nArguments\n\n\n  \n    \n      Name\n      Type\n      Description\n    \n  \n  \n    \n      filter\n      ServiceMeshFilter\n      Filter Control Plane Query.\n    \n  \n\n\nSubscription.listenToMeshSyncEvents\n\nListen to changes in the list of available Namesapces in your cluster.\n\nReturns OperatorControllerStatusPerK8sContext.\n\nArguments\n\n\n  \n    \n      Name\n      Type\n      Description\n    \n  \n  \n    \n      k8scontextIDs\n      [String!]\n       \n    \n  \n\n\nSubscription.listenToOperatorState\n\nListen to changes in status of Meshery Operator in your cluster.\n\nReturns OperatorStatusPerK8sContext.\n\nArguments\n\n\n  \n    \n      Name\n      Type\n      Description\n    \n  \n  \n    \n      k8scontextIDs\n      [String!]\n       \n    \n  \n\n\nSubscription.subscribeBrokerConnection\n\nListen to changes in Broker (NATS) Connection.\n\nReturns Boolean!.\n\nSubscription.subscribePerfProfiles\n\nListen to changes in Performance Profiles.\n\nReturns PerfPageProfiles!.\n\nArguments\n\n\n  \n    \n      Name\n      Type\n      Description\n    \n  \n  \n    \n      selector\n      PageFilter!\n       \n    \n  \n\n\nSubscription.subscribePerfResults\n\nListen to all results for profile ID.\n\nReturns PerfPageResult!.\n\nArguments\n\n\n  \n    \n      Name\n      Type\n      Description\n    \n  \n  \n    \n      profileID\n      String!\n       \n    \n    \n      selector\n      PageFilter!\n       \n    \n  \n\n\nObject types\n\nObject types represent the resources that the Meshery GraphQL API can return.\nThey contain fields. Each field has its own type, which will either be one of the\nbasic GraphQL scalar types\n(e.g.: String or Boolean) or other object types. Fields may have arguments.\nFields with arguments are exactly like top-level queries, and are listed beneath\nthe table of fields for each object type.\n\nFor more information, see\nObject Types and Fields\non graphql.org.\n\nAddonList\n\nDeatils about the Addon Component.\n\nFields\n\n\n  \n    \n      Name\n      Type\n      Description\n    \n  \n  \n    \n      name\n      String!\n      Name.\n    \n    \n      owner\n      String!\n      Owner.\n    \n  \n\n\nContainer\n\nFields\n\n\n  \n    \n      Name\n      Type\n      Description\n    \n  \n  \n    \n      containerName\n      String!\n       \n    \n    \n      controlPlaneMemberName\n      String!\n       \n    \n    \n      image\n      String!\n       \n    \n    \n      ports\n      [Container_Port]\n      args: NOT IMPLEMENTED.\n    \n    \n      resources\n      Any\n      env: NOT IMPLEMENTED,.\n    \n    \n      status\n      Container_Status\n       \n    \n  \n\n\nContainer_Port\n\nFields\n\n\n  \n    \n      Name\n      Type\n      Description\n    \n  \n  \n    \n      containerPort\n      Int!\n       \n    \n    \n      name\n      String\n       \n    \n    \n      protocol\n      String!\n       \n    \n  \n\n\nContainer_Status\n\nFields\n\n\n  \n    \n      Name\n      Type\n      Description\n    \n  \n  \n    \n      containerID\n      Any\n       \n    \n    \n      containerStatusName\n      String!\n       \n    \n    \n      image\n      String!\n       \n    \n    \n      imageID\n      Any\n       \n    \n    \n      lastState\n      Any\n       \n    \n    \n      ready\n      Boolean!\n       \n    \n    \n      restartCount\n      Any\n       \n    \n    \n      started\n      Boolean!\n      image: String! imageID: String! containerID: String!.\n    \n    \n      state\n      Any\n       \n    \n  \n\n\nControlPlane\n\nControl Plane data for a particular Mesh.\n\nFields\n\n\n  \n    \n      Name\n      Type\n      Description\n    \n  \n  \n    \n      members\n      [ControlPlaneMember!]!\n      Members of the Mesh.\n    \n    \n      name\n      String!\n      Service Mesh Name.\n    \n  \n\n\nControlPlaneMember\n\nMember Details.\n\nFields\n\n\n  \n    \n      Name\n      Type\n      Description\n    \n  \n  \n    \n      component\n      String!\n      Component.\n    \n    \n      data_planes\n      [Container!]\n      DataPlanes.\n    \n    \n      name\n      String!\n      Name.\n    \n    \n      namespace\n      String!\n      Namespace.\n    \n    \n      version\n      String!\n      Version.\n    \n  \n\n\nDataPlane\n\nData Plane for a particular Mesh.\n\nFields\n\n\n  \n    \n      Name\n      Type\n      Description\n    \n  \n  \n    \n      name\n      String!\n      Service Mesh Name.\n    \n    \n      proxies\n      [Container!]!\n      Members of the Mesh.\n    \n  \n\n\nError\n\nFields\n\n\n  \n    \n      Name\n      Type\n      Description\n    \n  \n  \n    \n      code\n      String!\n      Error Code.\n    \n    \n      description\n      String!\n      Error Details.\n    \n  \n\n\nKctlDescribeDetails\n\nFields\n\n\n  \n    \n      Name\n      Type\n      Description\n    \n  \n  \n    \n      ctxid\n      String\n       \n    \n    \n      describe\n      String\n       \n    \n  \n\n\nMesheryResult\n\nFields\n\n\n  \n    \n      Name\n      Type\n      Description\n    \n  \n  \n    \n      created_at\n      String\n       \n    \n    \n      mesh\n      String\n       \n    \n    \n      meshery_id\n      String\n       \n    \n    \n      name\n      String\n       \n    \n    \n      performance_profile\n      String\n       \n    \n    \n      runner_results\n      Map\n       \n    \n    \n      server_board_config\n      String\n       \n    \n    \n      server_metrics\n      String\n       \n    \n    \n      test_id\n      String\n       \n    \n    \n      test_start_time\n      String\n       \n    \n    \n      updated_at\n      String\n       \n    \n    \n      user_id\n      String\n       \n    \n  \n\n\nNameSpace\n\nType to define a k8s Namespace.\n\nFields\n\n\n  \n    \n      Name\n      Type\n      Description\n    \n  \n  \n    \n      namespace\n      String!\n      Namespace Name.\n    \n  \n\n\nOAMCapability\n\nFields\n\n\n  \n    \n      Name\n      Type\n      Description\n    \n  \n  \n    \n      host\n      String\n       \n    \n    \n      id\n      String\n       \n    \n    \n      metadata\n      Any\n       \n    \n    \n      oam_definition\n      Any\n       \n    \n    \n      oam_ref_schema\n      String\n       \n    \n    \n      restricted\n      Boolean\n       \n    \n  \n\n\nOperatorControllerStatus\n\nControllers of Meshery Operator.\n\nFields\n\n\n  \n    \n      Name\n      Type\n      Description\n    \n  \n  \n    \n      contextID\n      String!\n       \n    \n    \n      error\n      Error\n      Controller Error Log.\n    \n    \n      name\n      String!\n      Controller Name.\n    \n    \n      status\n      Status!\n      Controller Status.\n    \n    \n      version\n      String!\n      Controller Verison.\n    \n  \n\n\nOperatorControllerStatusPerK8sContext\n\nFields\n\n\n  \n    \n      Name\n      Type\n      Description\n    \n  \n  \n    \n      OperatorControllerStatus\n      OperatorControllerStatus!\n       \n    \n    \n      contextID\n      String!\n       \n    \n  \n\n\nOperatorStatus\n\nStatus of Meshery Operator and its controllers.\n\nFields\n\n\n  \n    \n      Name\n      Type\n      Description\n    \n  \n  \n    \n      contextID\n      String!\n       \n    \n    \n      controllers\n      [OperatorControllerStatus!]!\n      Details about various Controllers of Meshery Operator.\n    \n    \n      error\n      Error\n      Error Logs encountered by Meshery Operator.\n    \n    \n      status\n      Status!\n      Status of Meshery Operator.\n    \n    \n      version\n      String!\n      Verion of Meshery Operator.\n    \n  \n\n\nOperatorStatusPerK8sContext\n\nFields\n\n\n  \n    \n      Name\n      Type\n      Description\n    \n  \n  \n    \n      contextID\n      String!\n       \n    \n    \n      operatorStatus\n      OperatorStatus!\n       \n    \n  \n\n\nPatternLocation\n\nFields\n\n\n  \n    \n      Name\n      Type\n      Description\n    \n  \n  \n    \n      branch\n      String\n       \n    \n    \n      host\n      String\n       \n    \n    \n      path\n      String\n       \n    \n    \n      type\n      String\n       \n    \n  \n\n\nPatternPageResult\n\nFields\n\n\n  \n    \n      Name\n      Type\n      Description\n    \n  \n  \n    \n      page\n      Int!\n       \n    \n    \n      page_size\n      Int!\n       \n    \n    \n      patterns\n      [PatternResult]\n       \n    \n    \n      total_count\n      Int!\n       \n    \n  \n\n\nPatternResult\n\nFields\n\n\n  \n    \n      Name\n      Type\n      Description\n    \n  \n  \n    \n      canSupport\n      Boolean!\n       \n    \n    \n      created_at\n      String\n       \n    \n    \n      errmsg\n      String\n       \n    \n    \n      id\n      ID!\n       \n    \n    \n      location\n      PatternLocation!\n       \n    \n    \n      name\n      String!\n       \n    \n    \n      pattern_file\n      String!\n       \n    \n    \n      updated_at\n      String\n       \n    \n    \n      user_id\n      String!\n       \n    \n  \n\n\nPerfPageProfiles\n\nFields\n\n\n  \n    \n      Name\n      Type\n      Description\n    \n  \n  \n    \n      page\n      Int!\n       \n    \n    \n      page_size\n      Int!\n       \n    \n    \n      profiles\n      [PerfProfile]\n       \n    \n    \n      total_count\n      Int!\n       \n    \n  \n\n\nPerfPageResult\n\nFields\n\n\n  \n    \n      Name\n      Type\n      Description\n    \n  \n  \n    \n      page\n      Int!\n       \n    \n    \n      page_size\n      Int!\n       \n    \n    \n      results\n      [MesheryResult]\n       \n    \n    \n      total_count\n      Int!\n       \n    \n  \n\n\nPerfProfile\n\nFields\n\n\n  \n    \n      Name\n      Type\n      Description\n    \n  \n  \n    \n      concurrent_request\n      Int!\n       \n    \n    \n      content_type\n      String\n       \n    \n    \n      created_at\n      String\n       \n    \n    \n      duration\n      String!\n       \n    \n    \n      endpoints\n      [String]\n       \n    \n    \n      id\n      String!\n       \n    \n    \n      last_run\n      String\n       \n    \n    \n      load_generators\n      [String]\n       \n    \n    \n      name\n      String\n       \n    \n    \n      qps\n      Int\n       \n    \n    \n      request_body\n      String\n       \n    \n    \n      request_cookies\n      String\n       \n    \n    \n      request_headers\n      String\n       \n    \n    \n      service_mesh\n      String\n       \n    \n    \n      total_results\n      Int\n       \n    \n    \n      updated_at\n      String\n       \n    \n    \n      user_id\n      String!\n       \n    \n  \n\n\nEnumeration types\n\nAlso called Enums, enumeration types are a special kind of scalar that\nis restricted to a particular set of allowed values.\n\nFor more information, see\nEnumeration Types\non graphql.org.\n\nMeshType\n\nService Mesh Types.\n\n\n  \n    \n      Value\n      Description\n    \n  \n  \n    \n      ALL_MESH\n      All meshes that Meshery supports.\n    \n    \n      APP_MESH\n      AWS App Mesh.\n    \n    \n      CILIUM_SERVICE_MESH\n      Cilium Service Mesh.\n    \n    \n      CITRIX_SERVICE_MESH\n      Citrix Service Mesh.\n    \n    \n      CONSUL\n      Consul by HashiCorp.\n    \n    \n      INVALID_MESH\n      Invalid Mesh.\n    \n    \n      ISTIO\n      Istio Service Mesh.\n    \n    \n      KUMA\n      Kuma.\n    \n    \n      LINKERD\n      LinkerD Service Mesh.\n    \n    \n      NETWORK_SERVICE_MESH\n      Network Service Mesh.\n    \n    \n      NGINX_SERVICE_MESH\n      NGINX Service Mesh.\n    \n    \n      OCTARINE\n      Octarine Mesh.\n    \n    \n      OPEN_SERVICE_MESH\n      Open Service Mesh.\n    \n    \n      TANZU\n      VMware Tanzu Service Mesh.\n    \n    \n      TRAEFIK_MESH\n      Traefik Mesh.\n    \n  \n\n\nStatus\n\n\n  \n    \n      Value\n      Description\n    \n  \n  \n    \n      CONNECTED\n      Connected (Applicable only for NATS status for now).\n    \n    \n      DISABLED\n      Disabled.\n    \n    \n      ENABLED\n      Enabled.\n    \n    \n      PROCESSING\n      Processing.\n    \n    \n      UNKNOWN\n      Unknown.\n    \n  \n\n\nScalar types\n\nScalar values are atomic values, and do not have fields of their own.\nBasic scalars include strings, boolean values, and numbers. This schema also\ndefines various custom scalar values, such as types for times and dates.\n\nThis schema includes custom scalar types for identifiers, with a specific type for\neach kind of object.\n\nFor more information, read about Scalar Types on graphql.org.\n\nAny\n\nBoolean\n\nRepresents true or false values.\n\nID\n\nRepresents a unique identifier that is Base64 obfuscated. It is often used to refetch an object or as key for a cache. The ID type appears in a JSON response as a String; however, it is not intended to be human-readable. When expected as an input type, any string (such as \"VXNlci0xMA==\") or integer (such as 4) input value will be accepted as an ID.\n\nInt\n\nRepresents non-fractional signed whole numeric values. Int can represent values between -(2^31) and 2^31 - 1.\n\nMap\n\nString\n\nRepresents textual data as UTF-8 character sequences. This type is most often used by GraphQL to represent free-form human-readable text.\n\nTime\n\nInput types\n\nTypes that may be used as arguments (all scalar types may also\nbe used as arguments).\n\nOnly general use input types are listed here. For mutation input types,\nsee the associated mutation type above.\n\nFor more information, read about Scalar Types on graphql.org.\n\nAddonStatusInput\n\nInput for changing Addon Status.\n\nArguments\n\n\n  \n    \n      Name\n      Type\n      Description\n    \n  \n  \n    \n      k8scontextID\n      String!\n      kubernetes context ID.\n    \n    \n      selector\n      MeshType\n      Filter by Serice Mesh.\n    \n    \n      targetStatus\n      Status!\n      Desired Status.\n    \n  \n\n\nPageFilter\n\nArguments\n\n\n  \n    \n      Name\n      Type\n      Description\n    \n  \n  \n    \n      from\n      String\n       \n    \n    \n      order\n      String\n       \n    \n    \n      page\n      String!\n       \n    \n    \n      pageSize\n      String!\n       \n    \n    \n      search\n      String\n       \n    \n    \n      to\n      String\n       \n    \n  \n\n\nReSyncActions\n\nType ReSyncActions define the actions involved during resync.\n\nArguments\n\n\n  \n    \n      Name\n      Type\n      Description\n    \n  \n  \n    \n      ReSync\n      String!\n       \n    \n    \n      clearDB\n      String!\n       \n    \n    \n      hardReset\n      String!\n       \n    \n  \n\n\nServiceMeshFilter\n\nFilter Control Plane Query.\n\nArguments\n\n\n  \n    \n      Name\n      Type\n      Description\n    \n  \n  \n    \n      k8sClusterIDs\n      [String!]\n       \n    \n    \n      type\n      MeshType\n      Filter by Service Mesh."
					}




					,

					"": {
						"id": "",
						"title": "",
						"categories": "",
						"url": " /",
						"content": ""
					}




					,

					"es-installation": {
						"id": "es-installation",
						"title": "Installation Guide",
						"categories": "",
						"url": " /es/installation",
						"content": "Inicio Rápido\n\nPoner a correr Meshery en un sistema habilitado con Docker, es fácil. Usa la interfaz de linea de comandos Meshery, mesheryctl, para empezar Meshery en cualquiera de sus plataformas soportadas.\n\nUsando mesheryctl\n\nmesheryctl es una interfaz de línea de comandos para administrar un Desplegado (deployment) Meshery. mesheryctl le permite controlar el ciclo de vida de Meshery con comandos como start, stop, status, reset. Ejecutando reset removerá todas las instancias de contenedor activas, poda las imágenes jaladas y remueve todos los volúmenes locales creados iniciando Meshery.\n\nMac ó Linux\n\nEmplea tu elección de homebrew o bash para instalar mesheryctl. Tu solo necesitas usarlo una vez.\n\nHomebrew\n\nInstala mesheryctl y ejecuta Meshery en Mac con Homebrew.\n\nInstalando con Homebrew\n\nPara instalar mesheryctl, ejecute el siguiente comando:\n\nbrew install mesheryctl\nmesheryctl system start\n\n\nActualizando con Homebrew\n\nPara actualizar mesheryctl, ejecute el siguiente comando:\n\nbrew upgrade mesheryctl\n\n\nBash\n\nInstalando con Bash\n\nInstala mesheryctl y ejecuta Meshery en Mac ó Linux con este script:\n\ncurl -L https://meshery.io/install | bash -\n\n\nActualizando con Bash\n\nActualiza mesheryctl y corre Meshery en Mac ó Linux con este script:\n\ncurl -L https://meshery.io/install | bash -\n\n\nWindows\n\nInstalando el binario mesheryctl\n\nDescarga y descomprime mesheryctl desde la página de Liberaciones Meshery. Agrega mesheryctl a tu PATH para facilitar el uso. Después, ejecuta:\n\n./mesheryctl system start\n\n\nScoop\n\nUsa Scoop para instalar Meshery en tu máquina Windows.\n\nInstalando con Scoop\n\nAgrega el Meshery Scoop Bucket e instala:\n\nscoop bucket add mesheryctl https://github.com/layer5io/scoop-bucket.git\nscoop install mesheryctl\n\n\nActualizando con Scoop\n\nPara actualizar mesheryctl, ejecuta el siguiente comando:\n\nscoop update mesheryctl\n\n\nInstalación Avanzada\n\nLos Usuarios pueden controlar la imagen de contenedor específico y etiqueta(versión) de Meshery que quieran ejecutar mediante la edición de su archivo local ~/.meshery/meshery.yaml (un archivo de docker compose).\nAlineado con la imagen de contenedor Meshery, en lugar de dejar la etiqueta implícita :stable-latest detrás de la imagen: layer5/meshery, los usuarios, en vez de esto, identificarán una etiqueta de imagen específica así:\n\nversion: '3'\nservices:\n  meshery:\n    image: layer5/meshery:v0.5.0\n    labels:\n      - \"com.centurylinklabs.watchtower.enable=true\"\n\n\n\n\nCuando Meshery está levantado y corriendo, las instrucciones para acceder Meshery serán impresas en la pantalla y su navegador web por default deberá ser dirigido a la pantalla de inicio de Meshery."
					}




					,

					"service-meshes": {
						"id": "service-meshes",
						"title": "Service Meshes",
						"categories": "",
						"url": " /service-meshes",
						"content": "As the cloud native manager, Meshery offers support for more service meshes than any other project or product in the world. Meshery uses adapters to offer choice of load generator (for performance management) and for managing different layers of your infrastructure.\n\nSupport for Service Meshes\n\n\n  \n    \n      Service Mesh\n      Earliest Version\n    \n  \n  \n    \n       Meshery Adapter for App Mesh\n                                               v1.4.1\n    \n    \n       Meshery Adapter for Cilium Service Mesh\n                                               v1.10.6\n    \n    \n       Meshery Adapter for Consul\n                                               v1.8.4\n    \n    \n       Meshery Adapter for Citrix Service Mesh\n                                               1.0\n    \n    \n       Meshery Adapter for Istio\n                                               v1.6.0\n    \n    \n       Meshery Adapter for Kuma\n                                               v1.2.2\n    \n    \n       Meshery Adapter for Linkerd\n                                               v2.10.2\n    \n    \n       Meshery Adapter for NGINX Service Mesh\n                                               v1.2.0\n    \n    \n       Meshery Adapter for Network Service Mesh\n                                               v0.2.1\n    \n    \n       Meshery Adapter for Open Service Mesh\n                                               v0.9.2\n    \n    \n       Meshery Adapter for Tanzu Service Mesh\n                                               pre-GA\n    \n    \n       Meshery Adapter for Traefik Mesh\n                                               v1.0\n    \n  \n\n\nMeshery supports the following service meshes. It uses both abstraction APIs and service mesh-specific adapters to interface with and manage service meshes. Review the full list of Meshery adapters."
					}




					,

					"es": {
						"id": "es",
						"title": "Documentación en Español 🇲🇽",
						"categories": "",
						"url": " /es",
						"content": "Documentación en Español 🇲🇽\n    \n\n\n\n\n  \n  \n\n  \n    \n      Inicio&nbsp;Rápido\n    \n    Inicio Rápido\n    \n      Introducción a Meshery\n      Proyecto y Comunidad\n      Contribuir\n    \n    Plataformas Soportadas\n    \n      \n        \n      \n        \n      \n        \n      \n        \n      \n        \n      \n        \n          AKS\n        \n      \n        \n      \n        \n      \n        \n      \n        \n      \n        \n      \n        \n      \n        \n      \n        \n      \n        \n      \n        \n          Docker\n        \n      \n        \n          EKS\n        \n      \n        \n      \n        \n          GKE\n        \n      \n        \n      \n        \n      \n        \n      \n        \n      \n        \n      \n        \n      \n        \n      \n        \n      \n        \n          KinD\n        \n      \n        \n          Kubernetes\n        \n      \n        \n      \n        \n      \n        \n      \n        \n      \n        \n      \n        \n          Minikube\n        \n      \n        \n      \n        \n      \n        \n      \n        \n      \n        \n      \n        \n      \n        \n      \n        \n      \n        \n      \n        \n      \n        \n      \n        \n      \n        \n          Windows\n        \n      \n    \n  \n\n  \n  \n  \n    \n        Conceptos\n    \n    Conceptos\n    \n      \n        \n      \n        \n      \n        \n      \n        \n      \n        Adaptadores\n        \n      \n        \n      \n        \n      \n        Arquitectura\n        \n      \n        \n      \n        \n      \n        Broker\n        \n      \n        \n      \n        \n      \n        \n      \n        Database\n        \n      \n        \n      \n        \n      \n        \n      \n        \n      \n        \n      \n        \n      \n        \n      \n        \n      \n        \n      \n        \n      \n        \n      \n        \n      \n        \n      \n        \n      \n        \n      \n        \n      \n        \n      \n        \n      \n        MeshSync\n        \n      \n        \n      \n        \n      \n        \n      \n        Operador\n        \n      \n        \n      \n        \n      \n        \n      \n        \n      \n        \n      \n        \n      \n        \n      \n        \n      \n        \n      \n        \n      \n    \n  \n\n\n\n  \n  \n  \n\n  \n    \n      Funcionalidad\n    \n    Gestión de la malla de servicios\n    \n      \n        \n      \n        \n      \n        \n      \n        \n      \n        \n      \n        \n      \n        \n      \n        \n      \n        \n      \n        \n      \n        \n      \n        \n      \n        \n      \n        \n      \n        \n      \n        \n      \n        \n      \n        \n      \n        \n      \n        \n      \n        \n      \n        \n      \n        \n      \n        \n      \n        \n      \n        \n      \n        \n      \n        \n      \n        \n      \n        \n      \n        \n          Gestión del ciclo de vida\n        \n      \n        \n      \n        \n      \n        \n      \n        \n      \n        \n      \n        \n      \n        \n      \n        \n      \n        \n      \n        \n          Gestión del rendimiento\n        \n      \n        \n      \n        \n      \n        \n      \n        \n      \n        \n          Capacidad de cumplimiento de SMI\n        \n      \n        \n      \n        \n      \n    \n    Gestión específica de la malla de servicios\n    \n      \n        \n      \n        \n      \n        \n      \n        \n      \n        \n      \n        \n      \n        \n      \n        \n      \n        \n      \n        \n      \n        \n      \n        \n      \n        \n      \n        \n      \n        \n      \n        \n      \n        \n      \n        \n      \n        \n      \n        \n      \n        \n      \n        \n      \n        \n      \n        \n      \n        \n      \n        \n      \n        \n      \n        \n      \n        \n      \n        \n      \n        \n      \n        \n      \n        \n      \n        \n      \n        \n      \n        \n      \n        \n      \n        \n      \n        \n      \n        \n      \n        \n      \n        \n      \n        \n      \n        \n      \n        \n      \n        \n      \n        \n      \n        \n      \n      \n        \n           Meshery Adapter for App Mesh\n        \n        \n           Meshery Adapter for Cilium Service Mesh\n        \n        \n           Meshery Adapter for Consul\n        \n        \n           Meshery Adapter for Citrix Service Mesh\n        \n        \n           Meshery Adapter for Istio\n        \n        \n           Meshery Adapter for Kuma\n        \n        \n           Meshery Adapter for Linkerd\n        \n        \n           Meshery Adapter for NGINX Service Mesh\n        \n        \n           Meshery Adapter for Network Service Mesh\n        \n        \n           Meshery Adapter for Open Service Mesh\n        \n        \n        \n           Meshery Adapter for Tanzu Service Mesh\n        \n        \n           Meshery Adapter for Traefik Mesh\n        \n    \n  \n\n  \n  \n\n  \n    \n        Guías y referencia\n    \n    Guías\n    \n      \n        \n      \n        \n      \n        \n      \n        \n      \n        \n      \n        \n      \n        \n      \n        \n      \n        \n      \n        \n      \n        \n      \n        \n      \n        \n      \n        \n      \n        \n      \n        \n      \n        \n      \n        \n      \n        \n      \n        \n      \n        \n      \n        \n      \n        \n      \n        \n      \n        \n      \n        \n      \n        \n      \n        \n      \n        \n      \n        \n      \n        \n      \n        \n          Usar Métricas en Meshery\n        \n      \n        \n      \n        \n      \n        \n      \n        \n          Usar varios adaptadores\n        \n      \n        \n      \n        \n      \n        \n      \n        \n      \n        \n      \n        \n      \n        \n      \n        \n          Implementación de aplicaciones de muestra\n        \n      \n        \n      \n        \n      \n        \n          Actualizar `mesheryctl` y Meshery\n        \n      \n        \n      \n    \n    Referencia\n    \n      \n        \n      \n        \n      \n        \n      \n        \n      \n        \n      \n        \n      \n        \n      \n        \n      \n        \n      \n        \n      \n        \n      \n        \n      \n        \n      \n        \n      \n        \n      \n        \n      \n        \n      \n        \n      \n        \n      \n        \n      \n        \n      \n        \n      \n        \n      \n        \n      \n        \n      \n        \n      \n        \n      \n        \n      \n        \n      \n        \n      \n        \n      \n        \n      \n        \n          Referencia del Comando mesheryctl"
					}




					,

					"installation": {
						"id": "installation",
						"title": "Quick Start Guide",
						"categories": "",
						"url": " /installation",
						"content": "Installation procedures for deploying Meshery.\n\n\n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    Kubernetes\n      \n      \n      \n    \n    KubeSphere\n      \n      \n      \n    \n    Docker Extension\n      \n      \n      \n    \n    Supported Platforms\n      \n      \n      \n    \n    Supported Platforms\n      \n      \n      \n    \n    AKS\n      \n      \n      \n    \n    \n    \n    Docker\n      \n      \n      \n    \n    Windows\n      \n      \n      \n    \n    \n    \n    EKS\n      \n      \n      \n    \n    \n    \n    Install mesheryctl\n      \n      \n      \n    \n    \n    \n    GKE\n      \n      \n      \n    \n    Scoop\n      \n      \n      \n    \n    KinD\n      \n      \n      \n    \n    Installation Guide\n      \n      \n      \n    \n    Quick Start Guide\n      \n      \n      \n    \n    \n    \n    Minikube"
					}




					,

					"es-functionality": {
						"id": "es-functionality",
						"title": "Funcionalidad",
						"categories": "",
						"url": " /es/functionality",
						"content": "Estas secciones proveen guías de usuario sobre las funcionalidades que ofrece Meshery.\n\n\n    \n      \n    \n      \n    \n      \n    \n      \n    \n      \n    \n      \n    \n      \n    \n      \n    \n      \n    \n      \n    \n      \n    \n      \n    \n      \n    \n      \n    \n      \n    \n      \n    \n      \n    \n      \n    \n      \n    \n      \n    \n      \n    \n      \n    \n      \n    \n      \n    \n      \n    \n      \n    \n      \n    \n      \n    \n      \n    \n      \n    \n      \n    \n      \n    \n      \n    \n      \n    \n      \n    \n      \n    \n      \n    \n      \n    \n      \n    \n      \n    \n      \n    \n      \n    \n      \n    \n      \n    \n      \n    \n      \n    \n      \n    \n      \n    \n      \n    \n      \n    \n      \n    \n      \n    \n      \n    \n      \n    \n      \n    \n      \n    \n      \n    \n      \n    \n      \n    \n      \n    \n      \n    \n      \n    \n      \n    \n      \n    \n      \n    \n      \n    \n      \n    \n      \n    \n      \n    \n      \n    \n      \n    \n      \n    \n      \n    \n      \n    \n      \n    \n      \n    \n      \n    \n      \n    \n      \n    \n      \n    \n      \n    \n      \n    \n      \n    \n      \n    \n      \n    \n      \n    \n      \n    \n      \n    \n      \n    \n      \n    \n      \n    \n      \n    \n      Gestión del ciclo de vida\n      \n    \n      \n    \n      \n    \n      \n    \n      \n    \n      \n    \n      \n    \n      \n    \n      \n    \n      \n    \n      \n    \n      \n    \n      \n    \n      \n    \n      \n    \n      \n    \n      \n    \n      \n    \n      \n    \n      \n    \n      \n    \n      \n    \n      \n    \n      \n    \n      \n    \n      \n    \n      \n    \n      \n    \n      \n    \n      \n    \n      \n    \n      \n    \n      \n    \n      \n    \n      \n    \n      \n    \n      \n    \n      \n    \n      \n    \n      \n    \n      \n    \n      \n    \n      \n    \n      \n    \n      \n    \n      \n    \n      \n    \n      \n    \n      \n    \n      \n    \n      \n    \n      \n    \n      \n    \n      \n    \n      \n    \n      \n    \n      \n    \n      \n    \n      \n    \n      \n    \n      \n    \n      \n    \n      \n    \n      \n    \n      \n    \n      \n    \n      \n    \n      \n    \n      \n    \n      \n    \n      \n    \n      \n    \n      \n    \n      \n    \n      \n    \n      \n    \n      \n    \n      \n    \n      \n    \n      \n    \n      \n    \n      \n    \n      \n    \n      \n    \n      \n    \n      \n    \n      Gestión del rendimiento\n      \n    \n      \n    \n      \n    \n      \n    \n      \n    \n      \n    \n      \n    \n      \n    \n      \n    \n      \n    \n      \n    \n      \n    \n      \n    \n      \n    \n      \n    \n      \n    \n      \n    \n      \n    \n      \n    \n      \n    \n      \n    \n      Capacidad de cumplimiento de SMI"
					}




					,

					"es-guides": {
						"id": "es-guides",
						"title": "Guías de Operación",
						"categories": "",
						"url": " /es/guides",
						"content": "Guías para el uso de las varias características y componentes de Meshery.\n\n\n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    Implementación de aplicaciones de muestra\n      \n    \n    \n    \n    \n    \n    Usar Métricas en Meshery\n      \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    Actualizar `mesheryctl` y Meshery\n      \n    \n    \n    \n    \n    \n    \n    \n    Usar varios adaptadores"
					}




					,

					"project": {
						"id": "project",
						"title": "Project",
						"categories": "",
						"url": " /project",
						"content": "Meshery Overview\n\nAs the cloud native management plane, Meshery enables the operation and management of Kuberneetes, any service mesh, and their workloads. Meshery’s powerful performance management functionality is accomplished through implementation of Service Mesh Performance (SMP). Meshery’s cloud native manager functionality leverages Service Mesh Interface (SMI) and Meshery is the conformance tool for SMI. Meshery integrates with Open Application Model (OAM) to enable users to deploy service mesh patterns. Meshery enables operators to deploy WebAssembly filters to Envoy-based data planes. Meshery facilitates learning about functionality and performance of service meshes and incorporates the collection and display of metrics from applications running on or across service meshes.\n\nMeshery as a project and its community\n\n\n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n      Contributing to Meshery Adapters\n      \n        -  How to contribute to Meshery Adapters\n      \n      \n      \n    \n    \n      Contributing to Meshery CLI\n      \n        -  How to contribute to Meshery Command Line Interface.\n      \n      \n      \n    \n    \n      FAQ\n      \n        -  General commonly asked questions and answers about Meshery.\n      \n      \n      \n    \n    \n    \n    \n      Security Vulnerabilities\n      \n        -  How the Meshery team handles security vulnerabilities.\n      \n      \n      \n    \n    \n      Contributing to Meshery's End-to-End Tests using Cypress\n      \n        -  How to contribute to End-to-End Tests using Cypress.\n      \n      \n      \n    \n    \n      Contributing to Meshery Docs\n      \n        -  How to contribute to Meshery Docs.\n      \n      \n      \n    \n    \n    \n    \n      How to write MeshKit compatible errors\n      \n        -  How to declare errors in Meshery components.\n      \n      \n      \n    \n    \n      Contributing to Meshery using git\n      \n        -  How to contribute to Meshery using git\n      \n      \n      \n    \n    \n      Meshery Contributing Guidelines\n      \n        -  \n      \n      \n      \n    \n    \n      Contributing to Meshery UI\n      \n        -  How to contribute to Meshery UI (web-based user interface).\n      \n      \n      \n    \n    \n    \n    \n      Releases\n      \n        -  List of released Meshery versions and their release notes.\n      \n      \n      \n    \n    \n      Contributing\n      \n        -  How to contribute to the Meshery project.\n      \n      \n      \n    \n    \n    \n    \n    \n    \n    \n    \n      Build &amp; Release (CI)\n      \n        -  Details of Meshery's build and release strategy.\n      \n      \n      \n    \n    \n    \n    \n      Contributing to Meshery Server\n      \n        -  How to contribute to Meshery Server\n      \n      \n      \n    \n    \n      Meshery Community\n      \n        -  Open source, service mesh-centric community at Layer5\n      \n      \n      \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n\n\n\nMeshery’s Functionality\n\nMeshery features can be categorized by:\n\n\n  Service Mesh Performance Management\n    \n      Workload and service mesh performance characterization\n      Prometheus and Grafana integration\n    \n  \n  Service Mesh Configuration Management\n    \n      Configuration best practices\n    \n  \n  Service Mesh Lifecycle Management\n    \n      Service mesh provisioning and workload onboarding\n      Meshery Operator and MeshSync\n      Service mesh patterns and Open Application Model integration\n    \n  \n  Data Plane Intelligence\n    \n      Registry and configuration of WebAssembly filters for Envoy\n    \n  \n  Service Mesh Interoperability and Federation\n    \n      Manage multiple service meshes concurrently\n      Connect to multiple clusters independently\n    \n  \n\n\nMeshery is for Developers, Operators, and Product Owners\n\nWhether making a Day 0 adoption choice or maintaining a Day 2 deployment, Meshery has useful capabilities in either circumstance. Targeted audience for Meshery project would be any technology operators that leverage service mesh in their ecosystem; this includes developers, devops engineers, decision makers, architects, and organizations that rely on microservices platform.\n\nMeshery is for service mesh patterns\n\nMeshery integrates with Open Application Model (OAM) to enable users to deploy service mesh patterns.\n\nMeshery is for performance management\n\nMeshery helps users weigh the value of their service mesh deployment against the overhead incurred in running a service mesh. Meshery provides statistical analysis of the request latency and throughput seen across various permutations of your workload, infrastructure and service mesh configuration.\nIn addition to request latency and throughput, Meshery also tracks memory and CPU overhead in of the nodes in your cluster. Measure your data plane and control plane against different sets of workloads and infrastructures.\n\nAnytime performance questions are to be answered, they are subjective to the specific workload and infrastructure used for measurement. Given this challenge, the Envoy project, for example, refuses to publish performance data because such tests can be:\n\n\n  Involved\n  Misinterpreted\n\n\nBeyond the need for performance and overhead data under a permutation of different workloads (applications) and types and sizes of infrastructure resources, the need for cross-project, apple-to-apple comparisons are also desired in order to facilitate a comparison of behavioral differences between service meshes and selection of their use. Individual projects shy from publishing test results of other, competing service meshes. An independent, unbiased, credible analysis is needed.\n\nMeshery is intended to be a vendor and project-neutral utility for uniformly benchmarking the performance of service meshes. Between service mesh and proxy projects (and surprisingly, within a single project), a number of different tools and results exist. Meshery allows you to pick an efficient set of tools for your ecosystem by providing performance evaluation and metrics.\n\n\n  By leveraging Meshery you could achieve apples-to-apples performance comparison of service meshes\n  Track your service mesh performance from release to release.\n  Understand behavioral differences between service meshes.\n  Track your application performance from version to version.\n\n\n\nEstablish a performance benchmark and track performance against this baseline as your environment changes over time.\n\nMeshery is for any service mesh\n\nInfrastructure diversity is a reality for any enterprise. Whether you’re running a single service mesh or multiple types of service meshes, you’ll find that Meshery supports your infrastructure diversity (or lack thereof).\n\nSupported Service Meshes\n\nStable\n\n| Service Mesh | Status |\n| :———– | —–: |\n\n\n  \n    \n       Meshery Adapter for Cilium Service Mesh\n      stable\n    \n    \n       Meshery Adapter for Consul\n      stable\n    \n    \n       Meshery Adapter for Istio\n      stable\n    \n    \n       Meshery Adapter for Kuma\n      stable\n    \n    \n       Meshery Adapter for Linkerd\n      stable\n    \n    \n       Meshery Adapter for NGINX Service Mesh\n      stable\n    \n    \n       Meshery Adapter for Network Service Mesh\n      stable\n    \n    \n       Meshery Adapter for Open Service Mesh\n      stable\n    \n    \n       Meshery Adapter for Traefik Mesh\n      stable\n    \n  \n\n\nBeta\n\n| Service Mesh | Status |\n| :———– | —–: |\n\n\n  \n    \n       Meshery Adapter for App Mesh\n      beta\n    \n    \n       Meshery Adapter for Citrix Service Mesh\n      beta\n    \n  \n\n\nAlpha - Service mesh adapters for which we are seeking community-contributed support.\n\n| Service Mesh | Status |\n| :———– | —–: |\n\n\n  \n    \n       Meshery Adapter for Tanzu Service Mesh\n      alpha"
					}




					,

					"es-project": {
						"id": "es-project",
						"title": "Proyecto",
						"categories": "",
						"url": " /es/project",
						"content": "Proyectos Layer5\n\nEl proyecto Meshery es mantenido por la comunidad Layer5. Somos una organización de código abierto saludable que se rige por el Código de conducta de CNCF.\n\nInvolucrarse en la comunidad\n\nSi quieres participar en el proyecto, únete a nuestro Slack y uno de los miembros de la comunidad se asegurará de que no te quedes fuera. Siempre tenemos un papel para todos, ya sea que seamos redactores de códigos, administradores de la comunidad, usuarios, defensores o simplemente para escuchar. La comunidad de Layer5 siempre está abierta y te da una calurosa bienvenida. Consulta nuestra guía de bienvenida de la comunidad para obtener más detalles.\nSi es la primera vez que realizas una contribución de código abierto, ¡estás en el lugar correcto! Consulta nuestra guía de bienvenida para principiantes.\n\nConsulta nuestra guía para contribuciones para obtener más detalles.\n\nAcerca de Layer5\n\nPrimero la comunidad\n\nLa comunidad Layer5 representa la colección más grande de proyectos de service mesh y sus maintainers en el mundo.\n\nPrimero el código abierto\n\nCreamos proyectos para proporcionar entornos de aprendizaje, implementación, mejores prácticas operativas, evaluaciones comparativas de desempeño, creación de documentación, compartir oportunidades de networking y más. Nuestro compromiso compartido con el espíritu de código abierto impulsa los proyectos de Layer5 hacia adelante."
					}




					,

					"es-concepts": {
						"id": "es-concepts",
						"title": "Conceptos",
						"categories": "",
						"url": " /es/concepts",
						"content": "Conceptos para comprender las diversas características y componentes de Meshery.\n\n\n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    Adaptadores\n      \n        -  Meshery ofrece soporte para más adaptadores que cualquier otro proyecto o producto en el mundo. Meshery utiliza adaptadores para gestionar las distintas mallas de servicio.\n      \n      \n      \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    Arquitectura\n      \n        -  descripción general de diferentes componentes individuales de la arquitectura de Meshery y cómo interactuan como un sistema.\n      \n      \n      \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    Broker\n      \n        -  El componente broker de Meshery facilita la transmisión de datos entre los componentes del clúster de Kubernetes y el mundo exterior.\n      \n      \n      \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    Database\n      \n        -  Meshery ofrece soporte para el almacenamiento en caché interno con la ayuda de base de datos de archivos. Esto se ha implementado con varias bibliotecas que admiten diferentes tipos de formatos de datos.\n      \n      \n      \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    MeshSync\n      \n        -  Meshery ofrece soporte para la sincronización de estado de clúster/service mesh de Kubernetes con la ayuda de MeshSync.\n      \n      \n      \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    Operador\n      \n        -  Meshery Operator controla y administra el ciclo de vida de componentes desplegados dentro de un clúster de Kubernetes"
					}




					,

					"guides-troubleshooting": {
						"id": "guides-troubleshooting",
						"title": "Troubleshooting Guide",
						"categories": "",
						"url": " /guides/troubleshooting",
						"content": "Troubleshooting guides to using Meshery’s various features and components.\n\n\n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    Troubleshooting Errors while running Meshery\n      \n    \n    \n    \n    Troubleshooting Meshery Installations\n      \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n\n\nSee Also\n\n\n\nMeshery Error Code Reference\n\n.\n\n\n\nDiscussion Forum\nDon't find an answer to your question here? Ask on the Discussion Forum."
					}




					,

					"guides-mesheryctl": {
						"id": "guides-mesheryctl",
						"title": "Meshery CLI Guides",
						"categories": "",
						"url": " /guides/mesheryctl",
						"content": "Guides to using Meshery’s various features and components.\n\n\n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  Authenticating with Meshery via CLI\n    \n    \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  Configuring Autocompletion for `mesheryctl`\n    \n    \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  Running system checks using Meshery CLI\n    \n    \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  Using Meshery CLI\n    \n    \n  \n    Upgrading Meshery CLI"
					}




					,

					"": {
						"id": "",
						"title": "Meshery Documentation",
						"categories": "",
						"url": " /",
						"content": "Meshery is the open source, cloud native management plane that enables the adoption, operation, and management of Kubernetes, any service mesh, and their workloads.\n\nFollow on Twitter or subscribe to our newsletter for the latest updates. Get support on our forum. Join our Slack to interact directly with other users and contributors.\n\n\n\n  \n  \n    \n        Quick&nbsp;Start\n    \n    Getting Started\n    \n        Meshery Overview\n        Community\n        Contributing \n    \n    Supported Platforms\n    \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        AKS\n          \n          \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        Docker Extension\n          \n          \n        \n        \n        \n        Docker\n          \n          \n        \n        \n        \n        EKS\n          \n          \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        GKE\n          \n          \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        KinD\n          \n          \n        \n        \n        \n        \n        \n        Kubernetes\n          \n          \n        \n        KubeSphere\n          \n          \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        Minikube\n          \n          \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        Windows\n          \n          \n        \n        \n        \n        \n        \n      \n  \n  \n  \n  \n    \n        Concepts\n    \n    Concepts\n    \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      Adapters\n        \n        \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      Architecture\n        \n        \n      \n      \n      \n      \n      \n      \n      \n      Broker\n        \n        \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      Database\n        \n        \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      MeshSync\n        \n        \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      Operator\n        \n        \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n    \n  \n\n\n\n\n  \n  \n    \n        Functionality\n    \n    Cloud Native Management\n    \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      Application Management\n        \n        \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      Filter Management\n        \n        \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      Lifecycle Management\n        \n        \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      Service Mesh Pattern Management\n        \n        \n      \n      \n      \n      \n      \n      Performance Management\n        \n        \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      Meshery and Service Mesh Interface (SMI)\n        \n        \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n    \n    Service Mesh Specific Management\n    \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n       Meshery Adapter for App Mesh\n       Meshery Adapter for Cilium Service Mesh\n       Meshery Adapter for Consul\n       Meshery Adapter for Citrix Service Mesh\n       Meshery Adapter for Istio\n       Meshery Adapter for Kuma\n       Meshery Adapter for Linkerd\n       Meshery Adapter for NGINX Service Mesh\n       Meshery Adapter for Network Service Mesh\n       Meshery Adapter for Open Service Mesh\n       Meshery Adapter for Tanzu Service Mesh\n       Meshery Adapter for Traefik Mesh\n      \n    \n  \n\n  \n  \n    \n        Guides\n    \n    Guides\n    \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      Authenticating with Meshery via CLI\n        \n        \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      Configuring your Deployment with Patterns, Filters and Applications\n        \n        \n      \n      Configuring Autocompletion for `mesheryctl`\n        \n        \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      Deploying Sample Applications\n        \n        \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      Troubleshooting Meshery Installations\n        \n        \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      Using Metrics in Meshery\n        \n        \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      Using Multiple Adapters\n        \n        \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      Performance Management with Meshery\n        \n        \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      Running system checks using Meshery CLI\n        \n        \n      \n      Troubleshooting Errors while running Meshery\n        \n        \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      Running SMI Conformance Tests\n        \n        \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      \n      Upgrading Meshery and all of its components\n        \n        \n      \n      \n      \n      \n      \n      Using Meshery CLI\n        \n        \n      \n    \n    Reference\n    \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        Error Code Reference\n          \n          \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        GraphQL API Reference\n          \n          \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        Command Reference\n          \n          \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        \n        REST API Reference"
					}




					,

					"functionality": {
						"id": "functionality",
						"title": "Functionality",
						"categories": "",
						"url": " /functionality",
						"content": "These sections provide user guides to the functionality Meshery offers.\nMeshery Functionality\n\n\n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    Application Management\n      \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    Filter Management\n      \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    Lifecycle Management\n      \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    Service Mesh Pattern Management\n      \n    \n    \n    \n    Performance Management\n      \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    Meshery and Service Mesh Interface (SMI)"
					}




					,

					"es-service-meshes": {
						"id": "es-service-meshes",
						"title": "Malla de Servicios",
						"categories": "",
						"url": " /es/service-meshes",
						"content": "Como administrador de múltiples mallas, Meshery ofrece soporte para más adaptadores que cualquier otro proyecto o producto en el mundo.\n\nSoporte para mallas de servicio\n\n| Service Mesh | Versión de Service Mesh |\n| :———– | :———————: |\n\n\n  \n    \n       Meshery Adapter for App Mesh\n                                              \n    \n    \n       Meshery Adapter for Cilium Service Mesh\n                                              \n    \n    \n       Meshery Adapter for Consul\n                                              \n    \n    \n       Meshery Adapter for Citrix Service Mesh\n                                              \n    \n    \n       Meshery Adapter for Istio\n                                              \n    \n    \n       Meshery Adapter for Kuma\n                                              \n    \n    \n       Meshery Adapter for Linkerd\n                                              \n    \n    \n       Meshery Adapter for NGINX Service Mesh\n                                              \n    \n    \n       Meshery Adapter for Network Service Mesh\n                                              \n    \n    \n       Meshery Adapter for Open Service Mesh\n                                              \n    \n    \n       Meshery Adapter for Tanzu Service Mesh\n                                              \n    \n    \n       Meshery Adapter for Traefik Mesh\n                                              \n    \n  \n\n\nMeshery admite las siguientes mallas de servicio. Utiliza tanto API de abstracción como adaptadores específicos de malla de servicio para interactuar con las mallas de servicio y administrarlas. Revise la lista completa de adaptadores Meshery ."
					}




					,

					"guides": {
						"id": "guides",
						"title": "Operation Guides",
						"categories": "",
						"url": " /guides",
						"content": "Guides to using and troubleshooting Meshery’s various features and components.\n\nGeneral\n\n\n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    Troubleshooting Errors while running Meshery\n      \n    \n    \n    \n    Troubleshooting Meshery Installations\n      \n    \n    \n    \n    \n    \n    Running SMI Conformance Tests\n      \n    \n    \n    \n    Configuring your Deployment with Patterns, Filters and Applications\n      \n    \n    Upgrading Meshery and all of its components\n      \n    \n    \n    \n    Using Metrics in Meshery\n      \n    \n    Using Multiple Adapters\n      \n    \n    \n    \n    \n    \n    Performance Management with Meshery\n      \n    \n    Deploying Sample Applications\n      \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n\n\nMeshery CLI\n\n\n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  \n  Configuring Autocompletion for `mesheryctl`\n    \n    \n  \n  \n  \n  \n  \n  Authenticating with Meshery via CLI\n    \n    \n  \n  \n  \n  \n  \n  \n  \n  Using Meshery CLI\n    \n    \n  \n  \n  \n  \n  \n  \n  \n  Running system checks using Meshery CLI"
					}




					,

					"concepts": {
						"id": "concepts",
						"title": "Concepts",
						"categories": "",
						"url": " /concepts",
						"content": "Concepts for understanding Meshery’s various features and components.\n\n\n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    Adapters\n      \n        -  Meshery offers support for more adapters than any other project or product in the world. Meshery uses adapters for managing the various service meshes.\n      \n      \n      \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    Architecture\n      \n        -  overview of different individual components of Meshery architecture and how they interact as a system.\n      \n      \n      \n    \n    \n    \n    \n    \n    \n    \n    Broker\n      \n        -  Meshery broker component fascilitates data streaming between kubernetes cluster components and outside world.\n      \n      \n      \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    Database\n      \n        -  Meshery offers support for internal caching with the help of file databases. This has been implemented with several libraries that supports different kinds of data formats.\n      \n      \n      \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    MeshSync\n      \n        -  Meshery offers support for kubernetes cluster/service mesh state synchronization with the help of MeshSync.\n      \n      \n      \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    Operator\n      \n        -  Meshery Operator controls and manages the lifeycle of components deployed inside a kubernetes cluster"
					}




					,

					"reference": {
						"id": "reference",
						"title": "Reference",
						"categories": "",
						"url": " /reference",
						"content": "References for using Meshery’s various features and components.\n\n\n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    \n    Command Reference\n      \n        -  A guide to Meshery's CLI: mesheryctl\n      \n      \n      \n    \n    Referencia del Comando mesheryctl\n      \n        -  Una Guía para la CLI de Meshery: mesheryctl\n      \n      \n      \n    \n    REST API Reference\n      \n        -  Meshery REST API Documentation and Reference\n      \n      \n      \n    \n    Error Code Reference\n      \n        -  Meshery Error Code Reference\n      \n      \n      \n    \n    GraphQL API Reference\n      \n        -  Meshery GraphQL API Documentation and Reference"
					}




					,

					"es-reference": {
						"id": "es-reference",
						"title": "Referencia",
						"categories": "",
						"url": " /es/reference",
						"content": "Referencias para utilizar las diversas funciones y componentes de Meshery."
					}




					,

					"guides-troubleshooting-installation": {
						"id": "guides-troubleshooting-installation",
						"title": "Troubleshooting Meshery Installations",
						"categories": "",
						"url": " /guides/troubleshooting/installation",
						"content": "Meshery’s Preflight Checks\n\nAnytime a mesheryctl system command is executed, a series of preflight checks are run. An attempt will be made to connect to the Kubernetes cluster configured in the user’s kubeconfig as their current-context .\n\n\n  \n    Check whether mesheryctl can initialize a Kubernetes client.\n\n    Situation: mesheryctl fails to query for pods in the default namespace of the user’s current Kubernetes context.\n  \n  \n    Remove ~/.meshery to reinitialize Meshery\n\n    Situation: Unable to start Meshery Server with make run-local due to error of key/value size is invalid\n  \n\n\nMeshery Operator\n\nMeshery Broker\nExample of a healthy Meshery Broker server with an actively connected (subscribed) Meshery Server:\n\n➜  ~ kubectl logs -n meshery meshery-broker-0 nats\n[8] 2021/09/08 21:46:03.070952 [INF] Starting nats-server version 2.1.9\n[8] 2021/09/08 21:46:03.070982 [INF] Git commit [7c76626]\n[8] 2021/09/08 21:46:03.071308 [INF] Starting http monitor on 0.0.0.0:8222\n[8] 2021/09/08 21:46:03.071370 [INF] Listening for client connections on 0.0.0.0:4222\n[8] 2021/09/08 21:46:03.071512 [INF] Server id is NAAYJNX4LDDNXW5UE7IP7PRQR2W2JP546XSFNUWQQHN7JYY27RG47KSG\n[8] 2021/09/08 21:46:03.071516 [INF] Server is ready\n\nFor details about the state of the Meshery Server subscription see the http monitor port on Meshery Broker.\n\nSee Also\n\n\n  Error Code Reference\n\n\nMeshery Remote Providers\n\nOnce Meshery is installed, the remote provider “Meshery” can be chosen from UI or by using the command mesheryctl system login:\n\n\n\n➜  ~ mesheryctl system login\nUse the arrow keys to navigate: ↓ ↑ → ←\n? Select a Provider:\n  ▸ Meshery\n    None\n\n\nIf you cannot see “Meshery” Remote Provider and find such error logs in Meshery Server’s logs (mesheryctl system logs), please make sure that Meshery Server is able to reach “https://meshery.layer5.io” in order to initialize the “Meshery” Remote Provider.\n\ntime=\"2021-11-10T11:05:30Z\" level=error msg=\"[Initialize Provider]: Failed to get capabilities Get \\\"https://meshery.layer5.io/v0.5.71/capabilities?os=meshery\\\": dial tcp 3.140.89.205:443: i/o timeout\"\n\n\nFor more details about Meshery Providers:\n\n  Extensibility: Providers"
					}




					,

					"guides-interpreting-performance-test-results": {
						"id": "guides-interpreting-performance-test-results",
						"title": "Interpreting Performance Test Results",
						"categories": "",
						"url": " /guides/interpreting-performance-test-results",
						"content": "Once a performance tests and run, it’s disco analysis is performed and test results persisted. Results or downloadable and persisted in the Service Mesh Performance (SMP) format.\n\nGraphical View\n\n\n\n\n\nTests\n\nFor the best experience, you should compare between two or more tests of similar configuration. Tests that are configured with a high degree of variance (e.g., one test ran for a duration of 5 minutes, while another test ran for a duration of 1 hour) will produce comparisons that are more difficult to extrapolate insights from.\n\nLatency and throughput are the two most significantly examined signals.\n\nMeshery will use different algorithms to calculate results depending upon which load generator was used to run the test."
					}




					,

					"es-guides-interpreting-performance-test-results": {
						"id": "es-guides-interpreting-performance-test-results",
						"title": "Interpretación de los resultados de la prueba de rendimiento",
						"categories": "",
						"url": " /es/guides/interpreting-performance-test-results",
						"content": "Una vez que se prueba el rendimiento y se ejecuta, se realiza el análisis disco y los resultados de la prueba persisten. Resultados o descargables y persistentes en el Desempeño de la Malla de Servicio (SMP) format.\n\nVista Gráfica\n\n\n\n\n\nPruebas\n\nPara obtener la mejor experiencia, debe comparar entre dos o más pruebas de configuración similar. Las pruebas que están configuradas con un alto grado de variación (por ejemplo, una prueba se ejecutó durante 5 minutos, mientras que otra prueba se ejecutó durante 1 hora) producirán comparaciones de las que es más difícil extrapolar información.\n\nLa latencia y el rendimiento son las dos señales examinadas más significativamente.\n\nMeshery utilizará diferentes algoritmos para calcular los resultados según el generador de carga que se utilizó para ejecutar la prueba."
					}




					,

					"project-compatibility-matrix-meshery-istio-past-results": {
						"id": "project-compatibility-matrix-meshery-istio-past-results",
						"title": "Meshery-Istio Past Results",
						"categories": "",
						"url": " /project/compatibility-matrix/meshery-istio-past-results",
						"content": ""
					}




					,

					"installation-platforms-kind": {
						"id": "installation-platforms-kind",
						"title": "KinD",
						"categories": "",
						"url": " /installation/platforms/kind",
						"content": "Quick Start with KinD \n\nPrerequisites  \n\n1. Install the Meshery command line client, \n\n    mesheryctl\n.\n\n\nTo set up and run Meshery on KinD\n\n\n  Installation\n    \n      Create cluster using KinD\n        \n          1. KinD on WSL2\n          2. KinD on other systems\n        \n      \n      Access the KinD cluster\n      Using Helm\n        \n          Helm v3\n        \n      \n    \n  \n\n\nInstallation\n\n\n  On Mac / Linux via Homebrew (Recommended):\n\n\n\n \n brew install kind\n \n \n\n\n  On macOS / Linux via curl:\n\n\n\n \n curl -Lo ./kind https://kind.sigs.k8s.io/dl/v0.8.1/kind-$(uname)-amd64\n chmod +x ./kind\n mv ./kind /some-dir-in-your-PATH/kind\n \n \n\nIf you are running Ubuntu on WSL2, use Docker Ubuntu distro to install Docker.\n\nCreate cluster using KinD\n\nIn order to successfully build the Meshery server on your local server, follow the instructions specific to your Operating System to complete the creation of a KinD cluster.\n\n1. KinD on WSL2\n\nFirst, we will get the ip address of your WSL2 distro by:\n\n\n \n ip addr | grep eth0\n \n \n\nYou will see the output like:\n\n\n \n 4: eth0: &lt;BROADCAST,MULTICAST,UP,LOWER_UP&gt; mtu 1500 qdisc mq state UP group default qlen 1000\n    inet 172.1.1.1/20 brd 172.1.1.255 scope global eth0\n \n \n\nCopy the ip address, we will use that in the next step.\n\nThen, create a file called kind_cluster.yaml and put the ip address under apiServerAddress:\n\n\n \n kind: Cluster\n apiVersion: kind.x-k8s.io/v1alpha4\n networking:\n   apiServerAddress: \"172.1.1.1\"\n \n \n\nNow create the KinD cluster with the config file kind_cluster.yaml:\n\n\n \n kind create cluster --config kind_cluster.yaml --name kind --wait 300s\n \n \n\nYou will see\n\nCreating cluster \"kind\" ...\n • Ensuring node image (kindest/node:v1.17.0) 🖼  ...\n ✓ Ensuring node image (kindest/node:v1.17.0) 🖼\n • Preparing nodes 📦   ...\n ✓ Preparing nodes 📦\n • Writing configuration 📜  ...\n ✓ Writing configuration 📜\n • Starting control-plane 🕹️  ...\n ✓ Starting control-plane 🕹️\n • Installing CNI 🔌  ...\n ✓ Installing CNI 🔌\n • Installing StorageClass 💾  ...\n ✓ Installing StorageClass 💾\n • Waiting ≤ 5m0s for control-plane = Ready ⏳  ...\n ✓ Waiting ≤ 5m0s for control-plane = Ready ⏳\n • Ready after 59s 💚\nSet kubectl context to \"kind-kind\"\nYou can now use your cluster with:\n\nkubectl cluster-info --context kind-kind\n\nNot sure what to do next? 😅 Check out https://kind.sigs.k8s.io/docs/user/quick-start/\n\n\n2. KinD on other systems\n\nCreating a Kubernetes cluster is as simple as kind create cluster.\n\nFor more configuration of installation, please refer to KinD official documentation.\n\nAccess the KinD cluster\n\nBy default, the cluster access configuration is stored in ${HOME}/.kube/config if $KUBECONFIG environment variable is not set. You can set the KUBECONFIG environment with the command below:\n\n\n \n export KUBECONFIG=${HOME}/.kube/config\n \n \n\nUse the command below check the connection of the cluster and make sure the cluster you connected what’s the cluster was created by KinD:\n\n\n \n kubectl cluster-info --context kind-kind\n \n \n\nTo delete your cluster use:\n\n\n \n kind delete cluster --name kind\n \n \n\nUsing Helm\n\nHelm v3\n\nWe strongly recommend to use Helm v3, because of this version not including the Tiller(https://helm.sh/blog/helm-3-preview-pt2/#helm) component anymore. It’s lighter and safer.\n\nRun the following:\n\n\n \n$ helm repo add meshery https://meshery.io/charts/\n$ helm install meshery meshery/meshery -n meshery --create-namespace\n \n \n\n  Meshery server supports customizing authentication flow callback URL, which can be configured in the following way\n\n\n \n $ helm install meshery --namespace meshery --set env.MESHERY_SERVER_CALLBACK_URL=https://custom-host meshery/meshery\n \n \n\n\n  NodePort - If your cluster does not have an Ingress Controller or a load balancer, then use NodePort to expose Meshery and that can be modify under the chart values.yaml:\n\n\n\n \n service:\n   type: NodePort\n   port: 9081\n   annotations: {}\n \n \n\nMeshery should now be connected with your managed Kubernetes instance. Take a look at the Meshery guides for advanced usage tips."
					}




					,

					"es-installation-platforms-kind": {
						"id": "es-installation-platforms-kind",
						"title": "KinD",
						"categories": "",
						"url": " /es/installation/platforms/kind",
						"content": "Inicio Rápido con KinD\n\nPara configurar y ejecutar Meshery en KinD:\n\n\n  Instalar kinD\n  Crear un cluster Kubernetes con kinD\n    \n      Acceder al cluster kinD\n    \n  \n  Alternativamente, Ejecute Helm\n\n\nInstalación\n\n\n  En Mac / Linux mediante Homebrew (Recomendado):\n\n\nbrew install kind\n\n\n\n  En macOS / Linux mediante curl:\n\n\ncurl -Lo ./kind https://kind.sigs.k8s.io/dl/v0.8.1/kind-$(uname)-amd64\nchmod +x ./kind\nmv ./kind /some-dir-in-your-PATH/kind\n\n\nSi está ejecutando Ubuntu en WSL2, use la distro Docker Ubuntu para instalar Docker.\n\nCrear cluster usando KinD\n\nCon el fin de construir exitosamente el servidor Meshery en su servidor local, siga las instrucciones específicas a su Sistema Operativo para completar la creación de un cluster KinD.\n\n1. KinD en WSL2\n\nPrimero que nada, obtendremos la dirección ip de su distro WSL2 mediante:\n\nip addr | grep eth0\n\n\nUsted verá una salida como:\n\n4: eth0: &lt;BROADCAST,MULTICAST,UP,LOWER_UP&gt; mtu 1500 qdisc mq state UP group default qlen 1000\n    inet 172.1.1.1/20 brd 172.1.1.255 scope global eth0\n\n\nCopie la dirección IP, la usaremos en el siguiente paso.\n\nLo siguiente es, crear un archivo que tenga el nombre kind_cluster.yaml y capture la dirección ip en el campo apiServerAddress:\n\nkind: Cluster\napiVersion: kind.x-k8s.io/v1alpha4\nnetworking:\n  apiServerAddress: \"172.1.1.1\"\n\n\nAhora cree el cluster KinD con el archivo de configuración kind_cluster.yaml:\n\nkind create cluster --config kind_cluster.yaml --name kind --wait 300s\n\n\nUsted verá:\n\nCreating cluster \"kind\" ...\n • Ensuring node image (kindest/node:v1.17.0) 🖼  ...\n ✓ Ensuring node image (kindest/node:v1.17.0) 🖼\n • Preparing nodes 📦   ...\n ✓ Preparing nodes 📦\n • Writing configuration 📜  ...\n ✓ Writing configuration 📜\n • Starting control-plane 🕹️  ...\n ✓ Starting control-plane 🕹️\n • Installing CNI 🔌  ...\n ✓ Installing CNI 🔌\n • Installing StorageClass 💾  ...\n ✓ Installing StorageClass 💾\n • Waiting ≤ 5m0s for control-plane = Ready ⏳  ...\n ✓ Waiting ≤ 5m0s for control-plane = Ready ⏳\n • Ready after 59s 💚\nSet kubectl context to \"kind-kind\"\nYou can now use your cluster with:\n\nkubectl cluster-info --context kind-kind\n\nNot sure what to do next? 😅 Check out https://kind.sigs.k8s.io/docs/user/quick-start/\n\n\n2. KinD en otros sistemas\n\nCrear un cluster Kubernetes es tan simple como ejecutar kind create cluster.\n\nPara obtener más configuración de la instalación, consulte la documentación oficial de KinD.\n\nAccediendo el cluster KinD\n\nDe forma predeterminada, la configuración de acceso al clúster se almacena en ${HOME}/.kube/config si la variable de entorno $KUBECONFIG no está establecida. Usted puede establecer esta variable de ambiente KUBECONFIG con el siguiente comando:\n\nexport KUBECONFIG=${HOME}/.kube/config\n\n\nUtilice el siguiente comando para verificar la conexión del clúster y asegurarse de que el clúster al que se que conectó, es el clúster que fue creado por KinD:\n\nkubectl cluster-info --context kind-kind\n\n\nPara borrar su cluster use:\n\nkind delete cluster --name kind\n\n\nUsando Helm\n\nHelm v3\n\nRecomendamos encarecidamente utilizar Helm v3, debido a que la versión actual ya no incluye el componente Tiller(https://helm.sh/blog/helm-3-preview-pt2/#helm). Es más ligero y seguro de esta manera.\n\nEjecute lo siguienteg:\n\n$ git clone https://github.com/meshery/meshery.git; cd meshery\n$ kubectl create namespace meshery\n$ helm install meshery --namespace meshery install/kubernetes/helm/meshery\n\n\n\n  NodePort - Si su cluster no cuenta con un Controlador Ingress (Ingress Controller) o un balanceador de cargas, entonces utilice NodePort para exponer Meshery y que pueda ser modificado en values.yaml:\n\n\nservice:\n  type: NodePort\n  port: 9081\n  annotations: {}"
					}




					,

					"es-installation-platforms-kubernetes": {
						"id": "es-installation-platforms-kubernetes",
						"title": "Kubernetes",
						"categories": "",
						"url": " /es/installation/platforms/kubernetes",
						"content": "Inicio Rápido con Kubernetes\n\nPara preparar y ejecutar Meshery en Kubernetes:\n\n\n  \n     Use Helm y configure un cluster Kubernetes \n  \n  \n    Ejecutar Meshery en un cluster Kubernetes existente\n  \n\n\nUsando Helm\n\n1. Helm v3\n\nEjecute lo siguiente:\n\n$ git clone https://github.com/meshery/meshery.git; cd meshery\n$ kubectl create namespace meshery\n$ helm install meshery --namespace meshery install/kubernetes/helm/meshery\n\n\n2. Helm v2\n\nEjecute lo siguiente:\n\n$ git clone https://github.com/meshery/meshery.git; cd meshery\n$ kubectl create namespace meshery\n$ helm template meshery --namespace meshery install/kubernetes/helm/meshery | kubectl apply -f -\n\n\nUsando el Manifiesto de Kubernetes\n\nMeshery también puede ser desplegado(deployed) en un clúster de Kubernetes existente.Vea tabla de compatibilidades para la compatibilidad de versiones. Para instalar Meshery en su cluster, clone el repositorio de Meshery:\n\n$ git clone https://github.com/meshery/meshery.git; cd meshery\n\n\nCree un nombre de espacio (namespace) como un nuevo espacio lógico para hospedar Meshery y sus componentes:\n\n$ kubectl create ns meshery\n\n\nTodos los yamls de despliegue necesarios para desplegar(deploy) Meshery se incluyen en la carpeta ʻinstall / deployment_yamls / k8s` dentro de la carpeta Meshery clonada. Para implementar los yamls en el clúster, ejecute el siguiente comando:\n\n$ kubectl -n meshery apply -f install/deployment_yamls/k8s\n\n\nUna vez que se desplieguen los archivos yaml, necesitamos exponer el servicio meshery para poder acceder al servicio desde fuera del clúster. Hay varias formas de exponer un servicio en Kubernetes. Aquí describiremos 3 formas comunes en las que podemos exponer un servicio:\n\n\n  Ingress - Si su cluster Kubernetes tiene un Controlador Ingress (Ingress Controller) funcional, entonces usted puede configurar un ingreso para exponer Meshery:\n\n\napiVersion: extensions/v1beta1\nkind: Ingress\nmetadata:\nname: meshery-ingress\nannotations:\n    kubernetes.io/ingress.class: \"nginx\"\nspec:\nrules:\n- host: *\n    http:\n    paths:\n    - path: /\n        backend:\n        serviceName: meshery-service\n        servicePort: 9081\n\n\n\n  \n    Balanceador de Cargas -\nSi su clúster de Kubernetes tiene un balanceador de carga externo, esta podría ser la ruta lógica.\n  \n  \n    NodePort -\nSi su clúster no tiene un Controlador Ingress (Ingress Controller) o un balanceador de carga, use NodePort para exponer Meshery:\n  \n\n\napiVersion: v1\nkind: Service\nspec:\n    type: NodePort\n\n\nMeshery debe ahora ser conectado con su instancia administrada de Kubernetes. Eche un vistazo a las guías guías Meshery para tips de uso advanzado."
					}




					,

					"installation-platforms-kubernetes": {
						"id": "installation-platforms-kubernetes",
						"title": "Kubernetes",
						"categories": "",
						"url": " /installation/platforms/kubernetes",
						"content": "Quick Start with Kubernetes \n\nPrerequisites  \n\n1. Install the Meshery command line client, \n\n    mesheryctl\n.\n\n\nAvailable Deployment Methods\n\n\n  Using mesheryctl\n  Using helm\n  Using Kubernetes manifests\n\n\nUsing mesheryctl\nEnsure that your current-context has platform: kubernetes configured in ~/.meshery/config.yaml. Example context:\n\n➜  ~ mesheryctl system context view\nendpoint: http://localhost:9081\ntoken: default\nplatform: kubernetes\nadapters:\n- meshery-istio\n- meshery-linkerd\n- meshery-consul\n- meshery-nsm\n- meshery-kuma\n- meshery-cpx\n- meshery-osm\n- meshery-traefik-mesh\nchannel: stable\nversion: latest\n\n\nDeploy Meshery to your Kubernetes cluster by executing:\n\n\n \n    $ mesheryctl system start\n \n\n\nMeshery server supports customizing authentication flow callback URL, which can be configured in the following way\n\n \n    $ MESHERY_SERVER_CALLBACK_URL=https://custom-host mesheryctl system start\n \n\n\nUsing Helm Charts\n\nRun the following for default:\n\n\n \n $ helm repo add meshery https://meshery.io/charts/\n $ helm install meshery meshery/meshery\n \n \n\nCustomize of deployment the Meshery adapters:\n\n\n \n $ helm repo add meshery https://meshery.io/charts/\n\n # Example: Pin your deployment to a specific Meshery version\n $ helm install meshery meshery/meshery --version v0.5.67\n\n # Example: Disabled the Meshery Adapter for Linkerd and verify the deployment manifest\n $ helm install --set meshery-linkerd.enabled=false meshery/meshery --dry-run\n\n # Example: Meshery Server supports customizing authentication flow callback URL, which can be configured in the following way\n $ helm install meshery --namespace meshery --set env.MESHERY_SERVER_CALLBACK_URL=https://custom-host meshery/meshery\n \n \n\nThe key of Meshery adapters you can find here\n\nUsing Kubernetes Manifests [deprecated]\nMeshery can also be deployed on an existing Kubernetes cluster. See compatibility table for version compatibility. To install Meshery on your cluster, clone the Meshery repo:\n\n\n \n $ git clone https://github.com/layer5io/meshery.git;\n $ cd meshery\n \n \n\nCreate a namespace as a new logical space to host Meshery and its components:\n\n\n \n $ kubectl create ns meshery\n \n \n\nAll the needed deployment yamls for deploying Meshery are included in the install/deployment_yamls/k8s folder inside the cloned Meshery folder. To deploy the yamls on the cluster please run the following command:\n\n\n \n $ kubectl -n meshery apply -f install/deployment_yamls/k8s\n \n \n\nOnce the yaml files are deployed, we need to expose the meshery service to be able to access the service from outside the cluster. There are several ways a service can be exposed on Kubernetes. Here we will describe 3 common ways we can expose a service:\n\nIngress\n\nIf your Kubernetes cluster has a functional Ingress Controller, then you can configure an ingress to expose Meshery:\n\n\n \n apiVersion: extensions/v1beta1\n kind: Ingress\n metadata:\n name: meshery-ingress\n annotations:\n     kubernetes.io/ingress.class: \"nginx\"\n spec:\n rules:\n - host: *\n     http:\n     paths:\n     - path: /\n         backend:\n        # Please kindly check your service name and service port to confirm the Ingress can work well\n         serviceName: meshery-service\n         servicePort: 9081\n \n \n\n\n  \n    LoadBalancer - If your Kubernetes cluster has an external load balancer, this might be a logical route.\n  \n  \n    NodePort - If your cluster does not have an Ingress Controller or a load balancer, then use NodePort to expose Meshery:\n  \n\n\n\n \n apiVersion: v1\n kind: Service\n spec:\n     type: NodePort\n \n \n\nMeshery should now be connected with your managed Kubernetes instance. Take a look at the Meshery guides for advanced usage tips."
					}




					,

					"installation-platforms-kubesphere": {
						"id": "installation-platforms-kubesphere",
						"title": "KubeSphere",
						"categories": "",
						"url": " /installation/platforms/kubesphere",
						"content": "Quick Start with KubeSphere \n\nPrerequisites  \n\n1. Install the Meshery command line client, \n\n    mesheryctl\n.\n\n\nMeshery is the open source, cloud native management plane that enables the adoption, operation, and management of Kubernetes, any service mesh, and their workloads.\n\nThis tutorial walks you through an example of deploying Meshery from the App Store of KubeSphere.\n\nPrerequisites\n\n\n  Please make sure you enable the OpenPitrix system.\n  You need to create a workspace, a project, and a user account (project-regular) for this tutorial. The account needs to be a platform regular user and to be invited as the project operator with the operator role. In this tutorial, you log in as project-regular and work in the project demo-project in the workspace demo-workspace. For more information, see Create Workspaces, Projects, Users and Roles.\n\n\nHands-on Lab\n\nPerform the following steps in order:\n\n1. Deploy Meshery from the App Store\n\n\n  On the Overview page of the project demo-project, click App Store in the upper-left corner.\n  \n    Search for Meshery in the App Store, and click on the search result to enter the app.\n\n    \n  \n  \n    In the App Information page, click Install on the upper right corner.\n\n    \n  \n  \n    In the App Settings page, set the application Name, Location (as your Namespace), and App Version, and then click Next on the upper right corner.\n\n    \n  \n  \n    Configure the values.yaml file as needed, or click Install to use the default configuration.\n\n    \n  \n  \n    Wait for the deployment to be finished. Upon completion, Meshery will be shown as Running in KubeSphere.\n\n    \n  \n\n\n2. Access the Meshery Dashboard\n\n\n  Go to Services and click the service name of Meshery.\n  \n    In the Resource Status page, copy the NodePort of Meshery.\n\n    \n  \n  \n    Access the Meshery Dashboard by entering ${NodeIP}:${NODEPORT} in your browser.\n\n    \n  \n  Take a look at the Meshery guides for advanced usage tips."
					}




					,

					"project-compatibility-matrix-meshery-kuma-past-results": {
						"id": "project-compatibility-matrix-meshery-kuma-past-results",
						"title": "Meshery-Kuma Past Results",
						"categories": "",
						"url": " /project/compatibility-matrix/meshery-kuma-past-results",
						"content": ""
					}




					,

					"project-compatibility-matrix-meshery-linkerd-past-results": {
						"id": "project-compatibility-matrix-meshery-linkerd-past-results",
						"title": "Meshery-Linkerd Past Results",
						"categories": "",
						"url": " /project/compatibility-matrix/meshery-linkerd-past-results",
						"content": ""
					}




					,

					"extensibility-load-generators": {
						"id": "extensibility-load-generators",
						"title": "Extensibility: Load Generators",
						"categories": "",
						"url": " /extensibility/load-generators",
						"content": "Users may prefer to use one load generator over the next given the difference of capabilities between load generators, so Meshery provides a load generator interface (a gRPC interface) behind which a load generator can be implemented. Meshery provides users with choice of which load generator they prefer to use for a given performance test. Users may set their configure their own preference of load generator different that the default load generator.\n\nWhat function do load generators in Meshery provide?\n\nLoad generators will provide the capability to run load tests from Meshery. As of today the load generators are embedded as libraries in Meshery and Meshery invokes the load generators APIs with the right load test options to run the load test. At the moment, Meshery has support for HTTP load generators. Support for GRPC and TCP load testing is on the roadmap. Meshery has functional integration with fortio, wrk2, and nighthawk.\n\nWhy support multiple load generators?\n\nDifferent use cases and different opinions call for different approaches to statistical analysis of the performance results. For example, wrk2 accounts for a concept called Coordinated Omission.\n\nWhich load generators does Meshery support?\n\n\n  fortio - Fortio load testing library, command line tool, advanced echo server and web UI in go (golang). Allows to specify a set query-per-second load and record latency histograms and other useful stats.\n  wrk2 - A constant throughput, correct latency recording variant of wrk.\n  nighthawk - Enables users to run distributed performance tests to better mimic real-world, distributed systems scenarios.\n    \n      See the Nighthawk project."
					}




					,

					"es-extensibility-load-generators": {
						"id": "es-extensibility-load-generators",
						"title": "Extensibilidad: Generadores de Carga",
						"categories": "",
						"url": " /es/extensibility/load-generators",
						"content": "Los usuarios pueden preferir usar un generador de carga sobre el siguiente dada la diferencia de capacidades entre los generadores de carga, por lo que Meshery proporciona una “interfaz de generador de carga” (una interfaz gRPC) detrás de la cual se puede implementar un generador de carga. Meshery ofrece a los usuarios la opción de elegir qué generador de carga prefieren utilizar para una prueba de rendimiento determinada. Los usuarios pueden configurar su propia preferencia de generador de carga diferente al generador de carga predeterminado.\n\n¿Qué función cumplen los generadores de carga en Meshery?\n\nLos generadores de carga proporcionarán la capacidad de ejecutar pruebas de carga desde Meshery. A partir de hoy, los generadores de carga están integrados como bibliotecas en Meshery y Meshery invoca las API de los generadores de carga con las opciones de prueba de carga adecuadas para ejecutar la prueba de carga. Por el momento, Meshery tiene soporte para generadores de carga HTTP. El soporte para pruebas de carga de gRPC y TCP está en la hoja de ruta. Meshery tiene integración funcional con fortio, wrk2 y nighthawk.\n\n¿Por qué admitir varios generadores de carga?\n\nDiferentes casos de uso y diferentes opiniones requieren diferentes enfoques para el análisis estadístico de los resultados de rendimiento. Por ejemplo, wrk2 da cuenta de un concepto llamado Omisión Coordinada.\n\n¿Qué generadores de carga admite Meshery?\n\n\n  fortio - Biblioteca de pruebas de carga Fortio, herramienta de línea de comandos, servidor de eco avanzado y UI web en go (golang). Permite especificar una carga establecida de consulta por segundo y registrar histogramas de latencia y otras estadísticas útiles.\n  wrk2 - Un rendimiento constante, una variante de wrk de grabación de latencia correcta.\n  nighthawk - Permite a los usuarios ejecutar pruebas de rendimiento distribuidas para imitar mejor los escenarios de sistemas distribuidos del mundo real.\n\n\n\n  Vea el proyecto GetNighthawk."
					}




					,

					"assets-js-lunr-min-js": {
						"id": "assets-js-lunr-min-js",
						"title": "",
						"categories": "",
						"url": " /assets/js/lunr.min.js",
						"content": "/**\n * lunr - http://lunrjs.com - A bit like Solr, but much smaller and not as bright - 0.7.0\n * Copyright (C) 2016 Oliver Nightingale\n * MIT Licensed\n * @license\n */\n!function(){var t=function(e){var n=new t.Index;return n.pipeline.add(t.trimmer,t.stopWordFilter,t.stemmer),e&&e.call(n,n),n};t.version=\"0.7.0\",t.utils={},t.utils.warn=function(t){return function(e){t.console&&console.warn&&console.warn(e)}}(this),t.utils.asString=function(t){return void 0===t||null===t?\"\":t.toString()},t.EventEmitter=function(){this.events={}},t.EventEmitter.prototype.addListener=function(){var t=Array.prototype.slice.call(arguments),e=t.pop(),n=t;if(\"function\"!=typeof e)throw new TypeError(\"last argument must be a function\");n.forEach(function(t){this.hasHandler(t)||(this.events[t]=[]),this.events[t].push(e)},this)},t.EventEmitter.prototype.removeListener=function(t,e){if(this.hasHandler(t)){var n=this.events[t].indexOf(e);this.events[t].splice(n,1),this.events[t].length||delete this.events[t]}},t.EventEmitter.prototype.emit=function(t){if(this.hasHandler(t)){var e=Array.prototype.slice.call(arguments,1);this.events[t].forEach(function(t){t.apply(void 0,e)})}},t.EventEmitter.prototype.hasHandler=function(t){return t in this.events},t.tokenizer=function(e){return arguments.length&&null!=e&&void 0!=e?Array.isArray(e)?e.map(function(e){return t.utils.asString(e).toLowerCase()}):e.toString().trim().toLowerCase().split(t.tokenizer.seperator):[]},t.tokenizer.seperator=/[\\s\\-]+/,t.tokenizer.load=function(t){var e=this.registeredFunctions[t];if(!e)throw new Error(\"Cannot load un-registered function: \"+t);return e},t.tokenizer.label=\"default\",t.tokenizer.registeredFunctions={\"default\":t.tokenizer},t.tokenizer.registerFunction=function(e,n){n in this.registeredFunctions&&t.utils.warn(\"Overwriting existing tokenizer: \"+n),e.label=n,this.registeredFunctions[n]=e},t.Pipeline=function(){this._stack=[]},t.Pipeline.registeredFunctions={},t.Pipeline.registerFunction=function(e,n){n in this.registeredFunctions&&t.utils.warn(\"Overwriting existing registered function: \"+n),e.label=n,t.Pipeline.registeredFunctions[e.label]=e},t.Pipeline.warnIfFunctionNotRegistered=function(e){var n=e.label&&e.label in this.registeredFunctions;n||t.utils.warn(\"Function is not registered with pipeline. This may cause problems when serialising the index.\\n\",e)},t.Pipeline.load=function(e){var n=new t.Pipeline;return e.forEach(function(e){var i=t.Pipeline.registeredFunctions[e];if(!i)throw new Error(\"Cannot load un-registered function: \"+e);n.add(i)}),n},t.Pipeline.prototype.add=function(){var e=Array.prototype.slice.call(arguments);e.forEach(function(e){t.Pipeline.warnIfFunctionNotRegistered(e),this._stack.push(e)},this)},t.Pipeline.prototype.after=function(e,n){t.Pipeline.warnIfFunctionNotRegistered(n);var i=this._stack.indexOf(e);if(-1==i)throw new Error(\"Cannot find existingFn\");i+=1,this._stack.splice(i,0,n)},t.Pipeline.prototype.before=function(e,n){t.Pipeline.warnIfFunctionNotRegistered(n);var i=this._stack.indexOf(e);if(-1==i)throw new Error(\"Cannot find existingFn\");this._stack.splice(i,0,n)},t.Pipeline.prototype.remove=function(t){var e=this._stack.indexOf(t);-1!=e&&this._stack.splice(e,1)},t.Pipeline.prototype.run=function(t){for(var e=[],n=t.length,i=this._stack.length,r=0;n>r;r++){for(var o=t[r],s=0;i>s&&(o=this._stack[s](o,r,t),void 0!==o&&\"\"!==o);s++);void 0!==o&&\"\"!==o&&e.push(o)}return e},t.Pipeline.prototype.reset=function(){this._stack=[]},t.Pipeline.prototype.toJSON=function(){return this._stack.map(function(e){return t.Pipeline.warnIfFunctionNotRegistered(e),e.label})},t.Vector=function(){this._magnitude=null,this.list=void 0,this.length=0},t.Vector.Node=function(t,e,n){this.idx=t,this.val=e,this.next=n},t.Vector.prototype.insert=function(e,n){this._magnitude=void 0;var i=this.list;if(!i)return this.list=new t.Vector.Node(e,n,i),this.length++;if(en.idx?n=n.next:(i+=e.val*n.val,e=e.next,n=n.next);return i},t.Vector.prototype.similarity=function(t){return this.dot(t)/(this.magnitude()*t.magnitude())},t.SortedSet=function(){this.length=0,this.elements=[]},t.SortedSet.load=function(t){var e=new this;return e.elements=t,e.length=t.length,e},t.SortedSet.prototype.add=function(){var t,e;for(t=0;t1;){if(o===t)return r;t>o&&(e=r),o>t&&(n=r),i=n-e,r=e+Math.floor(i/2),o=this.elements[r]}return o===t?r:-1},t.SortedSet.prototype.locationFor=function(t){for(var e=0,n=this.elements.length,i=n-e,r=e+Math.floor(i/2),o=this.elements[r];i>1;)t>o&&(e=r),o>t&&(n=r),i=n-e,r=e+Math.floor(i/2),o=this.elements[r];return o>t?r:t>o?r+1:void 0},t.SortedSet.prototype.intersect=function(e){for(var n=new t.SortedSet,i=0,r=0,o=this.length,s=e.length,a=this.elements,h=e.elements;;){if(i>o-1||r>s-1)break;a[i]!==h[r]?a[i]h[r]&&r++:(n.add(a[i]),i++,r++)}return n},t.SortedSet.prototype.clone=function(){var e=new t.SortedSet;return e.elements=this.toArray(),e.length=e.elements.length,e},t.SortedSet.prototype.union=function(t){var e,n,i;this.length>=t.length?(e=this,n=t):(e=t,n=this),i=e.clone();for(var r=0,o=n.toArray();rp;p++)c[p]===a&&d++;h+=d/f*l.boost}}this.tokenStore.add(a,{ref:o,tf:h})}n&&this.eventEmitter.emit(\"add\",e,this)},t.Index.prototype.remove=function(t,e){var n=t[this._ref],e=void 0===e?!0:e;if(this.documentStore.has(n)){var i=this.documentStore.get(n);this.documentStore.remove(n),i.forEach(function(t){this.tokenStore.remove(t,n)},this),e&&this.eventEmitter.emit(\"remove\",t,this)}},t.Index.prototype.update=function(t,e){var e=void 0===e?!0:e;this.remove(t,!1),this.add(t,!1),e&&this.eventEmitter.emit(\"update\",t,this)},t.Index.prototype.idf=function(t){var e=\"@\"+t;if(Object.prototype.hasOwnProperty.call(this._idfCache,e))return this._idfCache[e];var n=this.tokenStore.count(t),i=1;return n>0&&(i=1+Math.log(this.documentStore.length/n)),this._idfCache[e]=i},t.Index.prototype.search=function(e){var n=this.pipeline.run(this.tokenizerFn(e)),i=new t.Vector,r=[],o=this._fields.reduce(function(t,e){return t+e.boost},0),s=n.some(function(t){return this.tokenStore.has(t)},this);if(!s)return[];n.forEach(function(e,n,s){var a=1/s.length*this._fields.length*o,h=this,u=this.tokenStore.expand(e).reduce(function(n,r){var o=h.corpusTokens.indexOf(r),s=h.idf(r),u=1,l=new t.SortedSet;if(r!==e){var c=Math.max(3,r.length-e.length);u=1/Math.log(c)}o>-1&&i.insert(o,a*s*u);for(var f=h.tokenStore.get(r),d=Object.keys(f),p=d.length,v=0;p>v;v++)l.add(f[d[v]].ref);return n.union(l)},new t.SortedSet);r.push(u)},this);var a=r.reduce(function(t,e){return t.intersect(e)});return a.map(function(t){return{ref:t,score:i.similarity(this.documentVector(t))}},this).sort(function(t,e){return e.score-t.score})},t.Index.prototype.documentVector=function(e){for(var n=this.documentStore.get(e),i=n.length,r=new t.Vector,o=0;i>o;o++){var s=n.elements[o],a=this.tokenStore.get(s)[e].tf,h=this.idf(s);r.insert(this.corpusTokens.indexOf(s),a*h)}return r},t.Index.prototype.toJSON=function(){return{version:t.version,fields:this._fields,ref:this._ref,tokenizer:this.tokenizerFn.label,documentStore:this.documentStore.toJSON(),tokenStore:this.tokenStore.toJSON(),corpusTokens:this.corpusTokens.toJSON(),pipeline:this.pipeline.toJSON()}},t.Index.prototype.use=function(t){var e=Array.prototype.slice.call(arguments,1);e.unshift(this),t.apply(this,e)},t.Store=function(){this.store={},this.length=0},t.Store.load=function(e){var n=new this;return n.length=e.length,n.store=Object.keys(e.store).reduce(function(n,i){return n[i]=t.SortedSet.load(e.store[i]),n},{}),n},t.Store.prototype.set=function(t,e){this.has(t)||this.length++,this.store[t]=e},t.Store.prototype.get=function(t){return this.store[t]},t.Store.prototype.has=function(t){return t in this.store},t.Store.prototype.remove=function(t){this.has(t)&&(delete this.store[t],this.length--)},t.Store.prototype.toJSON=function(){return{store:this.store,length:this.length}},t.stemmer=function(){var t={ational:\"ate\",tional:\"tion\",enci:\"ence\",anci:\"ance\",izer:\"ize\",bli:\"ble\",alli:\"al\",entli:\"ent\",eli:\"e\",ousli:\"ous\",ization:\"ize\",ation:\"ate\",ator:\"ate\",alism:\"al\",iveness:\"ive\",fulness:\"ful\",ousness:\"ous\",aliti:\"al\",iviti:\"ive\",biliti:\"ble\",logi:\"log\"},e={icate:\"ic\",ative:\"\",alize:\"al\",iciti:\"ic\",ical:\"ic\",ful:\"\",ness:\"\"},n=\"[^aeiou]\",i=\"[aeiouy]\",r=n+\"[^aeiouy]*\",o=i+\"[aeiou]*\",s=\"^(\"+r+\")?\"+o+r,a=\"^(\"+r+\")?\"+o+r+\"(\"+o+\")?$\",h=\"^(\"+r+\")?\"+o+r+o+r,u=\"^(\"+r+\")?\"+i,l=new RegExp(s),c=new RegExp(h),f=new RegExp(a),d=new RegExp(u),p=/^(.+?)(ss|i)es$/,v=/^(.+?)([^s])s$/,g=/^(.+?)eed$/,m=/^(.+?)(ed|ing)$/,y=/.$/,S=/(at|bl|iz)$/,w=new RegExp(\"([^aeiouylsz])\\\\1$\"),k=new RegExp(\"^\"+r+i+\"[^aeiouwxy]$\"),x=/^(.+?[^aeiou])y$/,b=/^(.+?)(ational|tional|enci|anci|izer|bli|alli|entli|eli|ousli|ization|ation|ator|alism|iveness|fulness|ousness|aliti|iviti|biliti|logi)$/,E=/^(.+?)(icate|ative|alize|iciti|ical|ful|ness)$/,F=/^(.+?)(al|ance|ence|er|ic|able|ible|ant|ement|ment|ent|ou|ism|ate|iti|ous|ive|ize)$/,_=/^(.+?)(s|t)(ion)$/,z=/^(.+?)e$/,O=/ll$/,P=new RegExp(\"^\"+r+i+\"[^aeiouwxy]$\"),T=function(n){var i,r,o,s,a,h,u;if(n.length<3)return n;if(o=n.substr(0,1),\"y\"==o&&(n=o.toUpperCase()+n.substr(1)),s=p,a=v,s.test(n)?n=n.replace(s,\"$1$2\"):a.test(n)&&(n=n.replace(a,\"$1$2\")),s=g,a=m,s.test(n)){var T=s.exec(n);s=l,s.test(T[1])&&(s=y,n=n.replace(s,\"\"))}else if(a.test(n)){var T=a.exec(n);i=T[1],a=d,a.test(i)&&(n=i,a=S,h=w,u=k,a.test(n)?n+=\"e\":h.test(n)?(s=y,n=n.replace(s,\"\")):u.test(n)&&(n+=\"e\"))}if(s=x,s.test(n)){var T=s.exec(n);i=T[1],n=i+\"i\"}if(s=b,s.test(n)){var T=s.exec(n);i=T[1],r=T[2],s=l,s.test(i)&&(n=i+t[r])}if(s=E,s.test(n)){var T=s.exec(n);i=T[1],r=T[2],s=l,s.test(i)&&(n=i+e[r])}if(s=F,a=_,s.test(n)){var T=s.exec(n);i=T[1],s=c,s.test(i)&&(n=i)}else if(a.test(n)){var T=a.exec(n);i=T[1]+T[2],a=c,a.test(i)&&(n=i)}if(s=z,s.test(n)){var T=s.exec(n);i=T[1],s=c,a=f,h=P,(s.test(i)||a.test(i)&&!h.test(i))&&(n=i)}return s=O,a=c,s.test(n)&&a.test(n)&&(s=y,n=n.replace(s,\"\")),\"y\"==o&&(n=o.toLowerCase()+n.substr(1)),n};return T}(),t.Pipeline.registerFunction(t.stemmer,\"stemmer\"),t.generateStopWordFilter=function(t){var e=t.reduce(function(t,e){return t[e]=e,t},{});return function(t){return t&&e[t]!==t?t:void 0}},t.stopWordFilter=t.generateStopWordFilter([\"a\",\"able\",\"about\",\"across\",\"after\",\"all\",\"almost\",\"also\",\"am\",\"among\",\"an\",\"and\",\"any\",\"are\",\"as\",\"at\",\"be\",\"because\",\"been\",\"but\",\"by\",\"can\",\"cannot\",\"could\",\"dear\",\"did\",\"do\",\"does\",\"either\",\"else\",\"ever\",\"every\",\"for\",\"from\",\"get\",\"got\",\"had\",\"has\",\"have\",\"he\",\"her\",\"hers\",\"him\",\"his\",\"how\",\"however\",\"i\",\"if\",\"in\",\"into\",\"is\",\"it\",\"its\",\"just\",\"least\",\"let\",\"like\",\"likely\",\"may\",\"me\",\"might\",\"most\",\"must\",\"my\",\"neither\",\"no\",\"nor\",\"not\",\"of\",\"off\",\"often\",\"on\",\"only\",\"or\",\"other\",\"our\",\"own\",\"rather\",\"said\",\"say\",\"says\",\"she\",\"should\",\"since\",\"so\",\"some\",\"than\",\"that\",\"the\",\"their\",\"them\",\"then\",\"there\",\"these\",\"they\",\"this\",\"tis\",\"to\",\"too\",\"twas\",\"us\",\"wants\",\"was\",\"we\",\"were\",\"what\",\"when\",\"where\",\"which\",\"while\",\"who\",\"whom\",\"why\",\"will\",\"with\",\"would\",\"yet\",\"you\",\"your\"]),t.Pipeline.registerFunction(t.stopWordFilter,\"stopWordFilter\"),t.trimmer=function(t){return t.replace(/^\\W+/,\"\").replace(/\\W+$/,\"\")},t.Pipeline.registerFunction(t.trimmer,\"trimmer\"),t.TokenStore=function(){this.root={docs:{}},this.length=0},t.TokenStore.load=function(t){var e=new this;return e.root=t.root,e.length=t.length,e},t.TokenStore.prototype.add=function(t,e,n){var n=n||this.root,i=t.charAt(0),r=t.slice(1);return i in n||(n[i]={docs:{}}),0===r.length?(n[i].docs[e.ref]=e,void(this.length+=1)):this.add(r,e,n[i])},t.TokenStore.prototype.has=function(t){if(!t)return!1;for(var e=this.root,n=0;n<t.length;n++){if(!e[t.charAt(n)])return!1;e=e[t.charAt(n)]}return!0},t.TokenStore.prototype.getNode=function(t){if(!t)return{};for(var e=this.root,n=0;n<t.length;n++){if(!e[t.charAt(n)])return{};e=e[t.charAt(n)]}return e},t.TokenStore.prototype.get=function(t,e){return this.getNode(t,e).docs||{}},t.TokenStore.prototype.count=function(t,e){return Object.keys(this.get(t,e)).length},t.TokenStore.prototype.remove=function(t,e){if(t){for(var n=this.root,i=0;i<t.length;i++){if(!(t.charAt(i)in n))return;n=n[t.charAt(i)]}delete n.docs[e]}},t.TokenStore.prototype.expand=function(t,e){var n=this.getNode(t),i=n.docs||{},e=e||[];return Object.keys(i).length&&e.push(t),Object.keys(n).forEach(function(n){\"docs\"!==n&&e.concat(this.expand(t+n,e))},this),e},t.TokenStore.prototype.toJSON=function(){return{root:this.root,length:this.length}},function(t,e){\"function\"==typeof define&&define.amd?define(e):\"object\"==typeof exports?module.exports=e():t.lunr=e()}(this,function(){return t})}();"
					}






					,

					"assets-js-main-js": {
						"id": "assets-js-main-js",
						"title": "",
						"categories": "",
						"url": " /assets/js/main.js",
						"content": "(function($) {\n    'use strict';\n    $(function() {\n        $('[data-toggle=\"tooltip\"]').tooltip();\n        $('[data-toggle=\"popover\"]').popover();\n        $('.popover-dismiss').popover({\n            trigger: 'focus'\n        })\n    });\n\n    function bottomPos(element) {\n        return element.offset().top + element.outerHeight();\n    }\n    $(function() {\n        var promo = $(\".js-td-cover\");\n        if (!promo.length) {\n            return\n        }\n        var promoOffset = bottomPos(promo);\n        var navbarOffset = $('.js-navbar-scroll').offset().top;\n        var threshold = Math.ceil($('.js-navbar-scroll').outerHeight());\n        if ((promoOffset - navbarOffset) ';\n       $(this).after(clipButton);\n});\n\nnew Clipboard('.clipbtn');"
					}




					,

					"functionality-lifecycle-management": {
						"id": "functionality-lifecycle-management",
						"title": "Lifecycle Management",
						"categories": "",
						"url": " /functionality/lifecycle-management",
						"content": "Meshery supports a number of different service meshes, so that you can learn and compare different service mesh functionality. Once you have selected to operate a given service mesh, Meshery will assist you with ongoing activities.\n\n\nMeshery's Capabilities Registry\nSee Architecture for a description of Meshery's Capabilities Registry for an understanding of how Meshery Adapters deliver service mesh-specific functionality.\n\n\nService Mesh Lifecycle Management\n\nMeshery automates the provisioning of various service meshes, allowing users to select different configuration profiles in order to support a variety of deployment models.\n\nMeshery adapters will dynamically retrieve the specific service mesh’s release package upon initial deployment of a given service mesh. Meshery adapters cache (in .meshery/bin) the service mesh installation package.\n\nDeleting a service mesh\n\nJust as Meshery automates the provisioning of various service meshes, so does it facilitate the deprovisioning of service meshes.\n\nWorkload Lifecycle Management\n\nUsers may bring their applications (perform workload onboarding) on the service mesh using the Custom Configuration operation.\n\nCommonly adjoining each service mesh is a sample application that facilitates demonstration of the value of the given service mesh. Meshery allows you to efficiently install sample applications across different service meshes.\n\nConfiguration Management\n\nMeshery provides the ability for you as a service mesh manager to customize your service mesh deployment.\n\nNotifications\n\nMeshery tracks operations that you perform on service meshes and their workloads. Meshery provides notification of environment issues, application conflicts with service mesh configuration.\n\nAcknowledging and dismissing notifications\n\nMany notifications are informational and can readily be dismissed after reading. Some notifications include actionable alerts.\n\nTaking action on alerts\n\nParticular notifications that Meshery presents are immediately actionable. These are denoted by a red colored highlight. Be on the lookout for these alerts and take action promptly to ensure a smooth running service mesh."
					}




					,

					"es-functionality-lifecycle-management": {
						"id": "es-functionality-lifecycle-management",
						"title": "Gestión del ciclo de vida",
						"categories": "",
						"url": " /es/functionality/lifecycle-management",
						"content": "Meshery soporta varios service mesh diferentes, de modo que puede aprender y comparar diferentes funcionalidades de service mesh. Una vez que haya seleccionado operar un service mesh determinado, Meshery le ayudará con las actividades en curso.\n\nDespliegue de un service mesh\n\nMeshery automatiza el aprovisionamiento de varios service mesh, permitiendo a los usuarios seleccionar diferentes perfiles de configuración para admitir una variedad de modelos de despliegue.\n\nInstalación de aplicaciones de muestra\n\nComúnmente junto a cada service mesh hay una aplicación de muestra que facilita la demostración del valor del service mesh dado. Meshery permite que rápidamente despliegue la misma aplicación de muestra en diferentes service mesh.\n\nUso de configuración de service mesh personalizada\n\nMeshery le brinda la posibilidad, a usted como administrador, de personalizar el despliegue de su service mesh.\n\nEliminación de un service mesh\n\nAsí como Meshery automatiza el aprovisionamiento de varios service mesh, también facilita el desaprovisionamiento de los service mesh.\n\nNotificaciones\n\nMeshery monitorea los service mesh y la salud de la aplicación. Meshery proporciona notificaciones de los problemas de ambiente, conflictos de aplicaciones con la configuración del service mesh.\n\nReconocer y descartar notificaciones\nLa mayoría de las notificaciones son informativas y pueden descartarse fácilmente después de leerlas. Algunas notificaciones incluyen alertas accionables.\n\nActuar sobre las alertas\n\nLas notificaciones particulares que Meshery presenta son accionables inmediatamente. Estas se indican por un resaltado de color rojo. Manténgase atento ante estas alertas y actue de inmediato para asegurar un buen funcionamiento del service mesh."
					}




					,

					"es-guides-meshery-metrics": {
						"id": "es-guides-meshery-metrics",
						"title": "Usar Métricas en Meshery",
						"categories": "",
						"url": " /es/guides/meshery-metrics",
						"content": "Conectarse y usar métricas en Meshery\n\nMeshery proporciona informes de rendimiento, incluidos los resultados de las pruebas de rendimiento, métricas de recursos de nodos, etc. para que los operadores puedan comprender fácilmente la sobrecarga del plano de control y el plano de datos de su malla de servicio en el contexto de la sobrecarga incurrida en los nodos que se ejecutan dentro del clúster. Para generar informes de prueba de rendimiento de las mallas de servicio y sus cargas de trabajo, Meshery usa Grafana y/o Prometheus como sistemas de visualización y métricas, respectivamente. Esta guía describe los requisitos necesarios para que Meshery se conecte a estos sistemas. Los pasos pueden variar según la malla de servicio y su configuración.\n\nPara obtener estas métricas de entorno, también puede configurar manualmente Meshery para que se conecte con sus instancias de Grafana y/o Prometheus existentes a través del panel de Meshery. Una vez que se han cargado y se muestran en la pantalla, también puede realizar una prueba ad-hoc para comprobar el estado de conexión de Meshery.\n\nGráficos de Prometheus\n\nEl usuario debe configurar la URL de Prometheus y la clave API para crear y consultar tableros.\n\n\n\nGráficos de Grafana\n\nEl usuario debe configurar la clave API y la URL de Grafana para crear y consultar tableros.\n\n\n\nTableros dinámicos\n\nLos tableros dinámicos se pueden generar desde Prometheus o Grafana. Estos tableros los define el usuario. Grafana SDK se utiliza para estas placas.\n\nTableros estáticos\n\nLas placas estáticas capturan el rendimiento de la malla de servicios. Ciertos protos se definen y se rastrean como parte de las pruebas de rendimiento. Placas estáticas Consultas directamente al SDK de Prometheus.\n\n\n\nLecturas Sugeridas\n\n\n  Guía: Interpretando Resultados de Pruebas de Desempeño"
					}




					,

					"guides-meshery-metrics": {
						"id": "guides-meshery-metrics",
						"title": "Using Metrics in Meshery",
						"categories": "",
						"url": " /guides/meshery-metrics",
						"content": "Connect and use metrics in Meshery\n\nMeshery provides performance reports, including performance test results, node resource metrics etc. so that operators may easily understand the overhead of their service mesh’s control plane and data plane in context of the overhead incurred on nodes running within the cluster. In order to generate performance test reports of service meshes and their workloads, Meshery uses Grafana and/or Prometheus as visualization and metrics systems, respectively. This guide outlines the requirements necessary for Meshery to connect to these systems. The steps may vary depending upon the service mesh and its configuration.\n\nIn order to pull in these environment metrics, you can also manually configure Meshery to connect with your existing Grafana and/or Prometheus instances through the Meshery dashboard. Once they have been loaded and are displayed on the screen, you may also perform an ad-hoc test to check Meshery’s connection status.\n\nPrometheus Charts\n\nUser needs to set the Prometheus URL and API key to create and query boards.\n\n\n\nGrafana Charts\n\nUser needs to set the Grafana URL and API key to create and query boards.\n\n\n\nDynamic Boards\n\nDynamic Boards can be generated from Prometheus or Grafana. These boards are defined by the user. Grafana SDK is used for these boards.\n\nStatic Boards\n\nStatic Boards capture the Service Mesh Performance. Certain protos are defined and tracked as a part of performance tests. Static Boards Queries Prometheus SDK directly.\n\n\n\nSuggested Reading\n\n\n  Guide: Interpreting Performance Test Results"
					}




					,

					"project-contributing-contributing-server": {
						"id": "project-contributing-contributing-server",
						"title": "Contributing to Meshery Server",
						"categories": "",
						"url": " /project/contributing/contributing-server",
						"content": "As a new contributor, you’re going to want to familiarize with the project in order to resolve the issues in the best way. Installing and playing around with Meshery will give you context for any issues that you might work on.\n\nOnce an issue has been addressed, you’ll need to test it as well. Ideally, these tests are run from the user’s perspective (someone running Meshery in a container), not from a contributor’s perspective (someone running Meshery as a locally-compiled service).\n\nCompiling and Running Meshery server\n\nTo build and run Meshery server from source:\n\n\n  Build the static assets for the UI by running\n\n\nmake ui-setup\nmake ui-build\n\n\n\n  Build &amp; run the server code by running\n\n\nmake server\n\n\nAny time changes are made to the Go code, you will have to stop the server and run the above command again.\nOnce the Meshery server is up and running, you should be able to access Meshery on your localhost on port 9081 at http://localhost:9081. One thing to note, you might NOT see the Meshery UI until the UI code is built as well.\nAfter running Meshery server, you will need to select your Cloud Provider by navigating to localhost:9081. Only then you will be able to use the Meshery UI on port 3000.\n\nBuilding Docker image\n\nTo build a Docker image of Meshery, please ensure you have Docker installed to be able to build the image. Now, run the following command to build the Docker image:\n\nmake docker\n\n\nDefine and validate errors\n\nEvery Golang-based project that belongs to Layer5 incorporates a utility to define and manage error messages for every error instance. This is internally done with several make commands, but one can explicitly validate with the help of the following make command. This checks and validates the errors that are present in the particular project.\n\nmake error\n\n\nFor more details, Error Utility\n\nSuggested Reading"
					}




					,

					"reference-mesheryctl-app-list": {
						"id": "reference-mesheryctl-app-list",
						"title": "mesheryctl-app-list",
						"categories": "",
						"url": " /reference/mesheryctl/app/list",
						"content": "mesheryctl app list\n\nList applications\n\nSynopsis\n\nDisplay list of all available applications.\n\n\n\nmesheryctl app list [flags]\n\n\n\n\nExamples\n\nList all the applications\n\n\nmesheryctl app list\n\n\n\n\nOptions\n\n\n\n  -h, --help   help for list\n\n\n\n\nOptions inherited from parent commands\n\n\n\n      --config string   path to config file (default \"/home/runner/.meshery/config.yaml\")\n  -t, --token string    Path to token file default from current context\n  -v, --verbose         verbose output\n\n\n\n\nScreenshots\n\nUsage of mesheryctl app list\n\n\nSee Also\n\nGo back to command reference index"
					}




					,

					"reference-mesheryctl-app-offboard": {
						"id": "reference-mesheryctl-app-offboard",
						"title": "mesheryctl-app-offboard",
						"categories": "",
						"url": " /reference/mesheryctl/app/offboard",
						"content": "mesheryctl app offboard\n\nOffboard application\n\nSynopsis\n\nOffboard application will trigger undeploy of application\n\n\n\nmesheryctl app offboard [flags]\n\n\n\n\nExamples\n\nOffboard application by providing file path\n\n\nmesheryctl app offboard -f [filepath]\n\n\n\n\nOptions\n\n\n\n  -f, --file string   Path to app file\n  -h, --help          help for offboard\n\n\n\n\nOptions inherited from parent commands\n\n\n\n      --config string   path to config file (default \"/home/runner/.meshery/config.yaml\")\n  -t, --token string    Path to token file default from current context\n  -v, --verbose         verbose output\n\n\n\n\nSee Also\n\nGo back to command reference index"
					}




					,

					"reference-mesheryctl-app-onboard": {
						"id": "reference-mesheryctl-app-onboard",
						"title": "mesheryctl-app-onboard",
						"categories": "",
						"url": " /reference/mesheryctl/app/onboard",
						"content": "mesheryctl app onboard\n\nOnboard application\n\nSynopsis\n\nCommand will trigger deploy of application\n\n\n\nmesheryctl app onboard [flags]\n\n\n\n\nExamples\n\nOnboard application by providing file path\n\n\nmesheryctl app onboard -f [filepath] -s [source type]\n\n\n\n\n\n\nExample:\n\n\n\n\n\n\nmesheryctl app onboard -f ./application.yml -s \"Kubernetes Manifest\"\n\n\n\n\nOptions\n\n\n\n  -f, --file string          Path to app file\n  -h, --help                 help for onboard\n      --skip-save            Skip saving a app\n  -s, --source-type string   Type of source file (ex. manifest / compose / helm)\n\n\n\n\nOptions inherited from parent commands\n\n\n\n      --config string   path to config file (default \"/home/runner/.meshery/config.yaml\")\n  -t, --token string    Path to token file default from current context\n  -v, --verbose         verbose output\n\n\n\n\nScreenshots\n\nUsage of mesheryctl app onboard\n\n\nSee Also\n\nGo back to command reference index"
					}




					,

					"reference-mesheryctl-app-view": {
						"id": "reference-mesheryctl-app-view",
						"title": "mesheryctl-app-view",
						"categories": "",
						"url": " /reference/mesheryctl/app/view",
						"content": "mesheryctl app view\n\nDisplay application(s)\n\nSynopsis\n\nDisplays the contents of a specific application based on name or id\n\n\n\nmesheryctl app view application name [flags]\n\n\n\n\nExamples\n\nView applictaions with name\n\n\nmesheryctl app view [app-name]\n\n\n\n\nView applications with id\n\n\nmesheryctl app view [app-id]\n\n\n\n\nView all applications\n\n\nmesheryctl app view --all\n\n\n\n\nOptions\n\n\n\n  -a, --all                    (optional) view all applications available\n  -h, --help                   help for view\n  -o, --output-format string   (optional) format to display in [json|yaml] (default \"yaml\")\n\n\n\n\nOptions inherited from parent commands\n\n\n\n      --config string   path to config file (default \"/home/runner/.meshery/config.yaml\")\n  -t, --token string    Path to token file default from current context\n  -v, --verbose         verbose output\n\n\n\n\nScreenshots\n\nUsage of mesheryctl app view\n\n\nSee Also\n\nGo back to command reference index"
					}




					,

					"reference-mesheryctl-app": {
						"id": "reference-mesheryctl-app",
						"title": "mesheryctl-app",
						"categories": "",
						"url": " /reference/mesheryctl/app",
						"content": "mesheryctl app\n\nService Mesh Apps Management\n\nSynopsis\n\nManage all apps operations; ;list, view, onboard and offboard\n\n\n\nmesheryctl app [flags]\n\n\n\n\nExamples\n\nBase command\n\n\nmesheryctl app [subcommand]\n\n\n\n\nOptions\n\n\n\n  -h, --help           help for app\n  -t, --token string   Path to token file default from current context\n\n\n\n\nOptions inherited from parent commands\n\n\n\n      --config string   path to config file (default \"/home/runner/.meshery/config.yaml\")\n  -v, --verbose         verbose output\n\n\n\n\nSee Also\n\nGo back to command reference index"
					}




					,

					"es-reference-mesheryctl": {
						"id": "es-reference-mesheryctl",
						"title": "Referencia del Comando mesheryctl",
						"categories": "",
						"url": " /es/reference/mesheryctl",
						"content": "Categorías y estructura de comando\n\nLos comandos de la CLI de Meshery se clasifican por función, que son:\n\n\n  mesheryctl - Indicadores globales y configuración de CLI\n  mesheryctl system - Ciclo de vida y resolución de problemas de Meshery\n  mesheryctl mesh - Service Mesh Lifecycle &amp; Configuration Management: mejores prácticas de aprovisionamiento y configuración\n  mesheryctl perf - Gestión del rendimiento de la malla de servicios: caracterización del rendimiento de la malla de servicios y cargas de trabajo\n  mesheryctl pattern - Configuración y gestión de patrones de malla de servicios: Patrones de malla de servicios e integración de modelos de aplicaciones abiertas\n  mesheryctl app - Gestión de aplicaciones Service Mesh\n  mesheryctl filter - Data Plane Intelligence: Registro y configuración de filtros de WebAssembly para Envoy (¡próximamente!)\n\n\nBanderas y comandos globales\n\n\n\n  \n    comando\n    Subcomando\n    Bandera\n    Función\n  \n  \n    \n      mesheryctl\n      \n      \n      Muestra ayuda sobre cualquier comando.\n    \n  \n    \n      \n      --config\n      configura Meshery con kubeconfig, generado con la ayuda de los detalles del usuario, para proporcionar acceso al clúster para nubes públicas(GKE/EKS).\n    \n  \n    \n      \n      --help, -h\n      Muestra información útil sobre cualquier comando.\n    \n  \n    \n      \n      --verbose, -v\n      Establece el nivel de registro para depurar la salida detallada y muestra registros detallados / de depuración.\n    \n  \n  \n    \n      version\n      \n      Muestra la versión de Meshery Client (mesheryctl) y el SHA del binario de lanzamiento.\n    \n  \n  \n  \n    completion\n    \n    Código de finalización del shell de salida.\n  \n  \n\n\n\nGestión y resolución de problemas del ciclo de vida de Meshery\n\nInstalación, resolución de problemas y depuración de Meshery y sus adaptadores.\n\n\n\n  \n    Comando principal\n    Argumentos\n    Bandera\n    Función\n  \n  \n    \n      system\n      \n      \n      Gestión del ciclo de vida de las implementaciones de Meshery\n    \n    \n      \n        \n        --context, -c\n        Cambiar temporalmente el contexto actual.\n      \n    \n    \n      \n        start\n        \n        Iniciar Meshery\n      \n    \n      \n        --skip-update\n        (opcional) omita la búsqueda de nuevas actualizaciones disponibles en Meshery.\n      \n    \n      \n        --reset\n        Restablece el archivo de configuración de Meshery a la configuración predeterminada.\n      \n    \n      \n        --silent\n        Cree silenciosamente el archivo de configuración de Meshery con la configuración predeterminada.\n      \n    \n    \n    \n      stop\n      \n      Detener Meshery\n    \n    \n      \n        --reset\n        Restablece el archivo de configuración de Meshery a la configuración predeterminada.\n      \n    \n    \n    \n      update\n      \n      Extraiga nuevas imágenes de Meshery de Docker Hub. No actualiza `mesheryctl`. Este comando se puede ejecutar mientras se ejecuta Meshery.\n    \n    \n      \n        --skip-reset\n        Extraiga los archivos de manifiesto más recientes\n      \n    \n    \n    \n      config\n      \n      Configura Meshery para usar un clúster de Kubernetes.\n    \n    \n      \n        --token\n        Ruta al token para autenticarse en la API de Meshery.\n      \n    \n    \n    \n      reset\n      \n      Restablece el archivo meshery.yaml con una copia del repositorio de Meshery\n    \n    \n    \n    \n      logs\n      \n      Inicia el seguimiento de los registros de depuración del servidor Meshery\n    \n    \n    \n    \n      restart\n      \n      reiniciar todos los contenedores de Meshery, sus instancias y sus volúmenes conectados\n    \n    \n      \n        --skip-update\n        (Opcional) omita la búsqueda de nuevas actualizaciones disponibles en Meshery.\n      \n    \n    \n    \n      status\n      \n      Verifique el estado de Meshery, adaptadores de Meshery, Operador de Meshery y sus controladores.\n    \n    \n    \n    \n      login\n      \n      Autentíquese con el proveedor de Meshery de su elección: el proveedor local o un proveedor remoto.\n    \n    \n    \n    \n      logout\n      \n      Invalide la sesión actual con su proveedor de Meshery.\n    \n    \n\n\n\n\nsystem-channel\n\n\nCambiar entre canales de liberación.\n\n\n\nset\n\nestablecer el canal de lanzamiento y la versión.\n\n\n\nswitch\n\ncambiar el canal de liberación y la versión\n\n\n\nview\n\nver el canal de lanzamiento y la versión\n\n\n\n\n\n\nsystem-context\n\n\nMuestra el contexto actual.\n\n\n\ncreate\n\ncrea un nuevo contexto en el archivo config.yaml\n\n\n\n--adapters\ncree un nuevo contexto en el archivo config.yaml- especifique la lista de adaptadores que se agregarán\n\n\n\n--set, -s\ncrear un nuevo contexto en el archivo config.yaml- establecer como contexto actual\n\n\n\n--url, -u\ncree un nuevo contexto en el archivo config.yaml- configure la URL del servidor Meshery. Predeterminado a\"https://localhost:9081\"\n\n\n\n\ndelete\n\neliminar un contexto existente del archivo de configuración de Meshery\n\n\n\nview\n\nver las configuraciones del contexto actual\n\n\n\n--context\nver las configuraciones del contexto especificado\n\n\n\n--all\nsi se establece, muestra las configuraciones de todos los contextos\n\n\n\n\nswitch\n\nconfigurar mesheryctl para usar activamente un contexto frente al otro context\n\n\n\n\n\n\nGestión del rendimiento de la malla de servicios\n\n\n\n  \n    Comando principal\n    Argumentos\n    Bandera\n    Función\n  \n  \n    \n      perf\n      \n      \n      Gestión del rendimiento y evaluación comparativa mediante la CLI de Meshery\n    \n    \n      \n        \n        --output-format, -o\n        formato para mostrar en json o yaml.\n      \n    \n      \n        \n        --token\n        (obligatorio) Ruta al token de acceso del usuario de Meshery.\n      \n    \n  \n      \n        apply\n        \n        Ejecuta una prueba de rendimiento usando perfiles existentes o usando banderas.\n      \n  \n      \n        --concurrent-requests\n        Número de solicitudes paralelas (defecto: 1).\n      \n  \n      \n        --duration\n        Duración de la prueba.\n      \n  \n      \n        --file\n        Ruta al archivo de configuración de prueba de rendimiento de la malla de servicios (predeterminado: cadena vacía).\n      \n  \n      \n        --load-generator\n        Elección del generador de carga: fortio (OR) wrk2 (predeterminado: fortio).\n      \n  \n      \n        --mesh\n        Nombre de la malla de servicios.\n      \n  \n      \n        --name\n        Un nombre memorable para la prueba (predeterminado: cadena aleatoria).\n      \n  \n      \n        --profile\n        (obligatorio / opcional) Nombre del nuevo perfil de rendimiento.\n      \n  \n      \n        --qps\n        Consultas por segundo (predeterminado: 0) (0 - significa usar la CPU sin límites para generar tantas solicitudes como sea posible).\n      \n  \n      \n        --url\n        (obligatorio / opcional) URL del punto final al que se envía la carga durante la prueba. (obligatorio / opcional) URL del punto final al que se envía la carga durante la prueba.\n      \n  \n  \n      \n        list\n        \n        Muestra todos los perfiles de rendimiento disponibles y los resultados de un perfil de rendimiento.\n      \n  \n      \n        view\n        \n        Configuración de perfil de desempeño.\n      \n\n\n\nGestión del ciclo de vida y la configuración de Service Mesh\n\n\n\n  \n    Comando principal\n    Argumentos\n    Bandera\n    Función\n  \n  \n    \n      mesh\n      \n      \n      Gestión del ciclo de vida de las mallas de servicio\n    \n    \n      \n        validate\n        \n        validar la conformidad de la malla de servicio con diferentes especificaciones estándar\n      \n      \n        \n          --adapter, -a\n          (obligatorio) adaptador que se utilizará para la validación. El valor predeterminado es \"meshery-osm:10010\"\n        \n      \n        \n          --namespace, -n\n          Espacio de nombres de Kubernetes que se utilizará para implementar las pruebas de validación y la carga de trabajo de muestra\n        \n      \n        \n          --spec, -s\n          Especificación (requerida) que se utilizará para la prueba de conformidad. El valor predeterminado es \"smi\"\n        \n      \n        \n          --tokenpath, -t\n          (obligatorio) ruta al token para autenticarse en la API de Meshery\n        \n      \n    \n      \n        deploy\n        \n        Implementar una malla de servicios en el clúster\n      \n      \n        \n          --adapter, -a\n          (obligatorio) adaptador que se utilizará para la validación. El valor predeterminado es \"meshery-osm:10010\".\n        \n      \n        \n          --namespace, -n\n          Espacio de nombres de Kubernetes que se utilizará para implementar las pruebas de validación y la carga de trabajo de muestra\n        \n      \n        \n          --tokenpath, -t\n          (obligatorio) ruta al token para autenticarse en la API de Meshery\n        \n      \n\n\n\nConfiguración y gestión de patrones de malla de servicios\n\n\n\n  \n    Comando principal\n    Argumentos\n    Bandera\n    Función\n  \n  \n    \n      pattern\n      \n      \n      \n    \n    \n      \n        \n        --file, -f\n        (obligatorio) ruta al archivo de patrón.\n      \n    \n    \n      \n        list\n        \n        muestra una lista de archivos de patrones disponibles\n      \n      \n        \n          \n          --all, -a\n          mostrar todos los metadatos del archivo de patrón\n      \n      \n    \n      \n        apply\n        \n        Aplicar archivo de patrón activará la implementación del archivo de patrón\n      \n      \n        \n          \n          --file, -f\n          Aplicar archivo de patrón activará la implementación del archivo de patrón y también admite la recuperación de archivos de GitHub\n      \n      \n    \n      \n        view\n        \n        muestra el contenido de un archivo de patrón específico\n      \n      \n        \n          \n          --all, -a\n          mostrar todo el contenido del archivo de patrón\n      \n      \n        \n          \n          -o json\n          mostrar el contenido de un patrón en formato json\n      \n      \n    \n      \n        delete\n        \n        Desaprovisionar la malla de recursos / servicios utilizando el archivo de patrón\n      \n      \n        \n          \n          --file, -f\n          Elimina los recursos que se crearon mediante el archivo de patrón.\n      \n      \n\n\n\nGestión de aplicaciones Service Mesh\n\n\n\n  \n    Comando principal\n    Argumentos\n    Bandera\n    Función\n  \n  \n    \n      app\n      \n      \n      Gestión de aplicaciones Service Mesh\n    \n    \n      \n        \n        --file, -f\n        (obligatorio) ruta al archivo de patrón\n      \n    \n    \n      \n        onboard\n        \n        aplicación a bordo\n      \n    \n      \n        \n        --file, -f\n        aplicación a bordo con archivo de aplicación\n      \n    \n    \n      \n        offboard\n        \n        aplicación externa\n      \n    \n      \n        \n        --file, -f\n        Aplicación externa con un archivo de aplicación\n      \n    \n    \n      \n        list\n        \n        muestra una lista de aplicaciones disponibles\n      \n    \n      \n        view\n        \n        muestra el contenido de una aplicación\n      \n      \n        \n          \n          --all, -a\n          mostrar todo el contenido del archivo de la aplicación\n      \n      \n        \n          \n          -o json\n          mostrar el contenido de una aplicación en formato json"
					}




					,

					"reference-mesheryctl": {
						"id": "reference-mesheryctl",
						"title": "Command Reference",
						"categories": "",
						"url": " /reference/mesheryctl",
						"content": "Categories and Command Structure\n\nMeshery CLI commands are categorized by function, which are:\n\n\n  mesheryctl - Global flags and CLI configuration\n  mesheryctl system - Meshery Lifecycle and Troubleshooting\n  mesheryctl mesh - Service Mesh Lifecycle &amp; Configuration Management: provisioning and configuration best practices\n  mesheryctl perf -  Service Mesh Performance Management: Workload and service mesh performance characterization\n  mesheryctl pattern - Service Mesh Pattern Configuration &amp; Management: Service mesh patterns and Open Application Model integration\n  mesheryctl app - Service Mesh Application Management\n  mesheryctl filter - Data Plane Intelligence: Registry and configuration of WebAssembly filters for Envoy (experimental feature)\n\n\nGlobal Commands and Flags\n\n\n\n  \n    Command\n    Subcommand\n    Flag\n    Function\n  \n  \n    \n      mesheryctl\n      \n      \n      A global command that displays an overview of all commands.\n    \n  \n    \n      \n      --config\n      configures Meshery with the meshconfig, generated with the help of user details to provide cluster access for public clouds(GKE/EKS).\n    \n  \n    \n      \n      --help, -h\n      Displays helpful information about any command.\n    \n  \n    \n      \n      --verbose, -v\n      Sets the log level to debug for verbose output and displays verboose/debug logs.\n    \n  \n  \n    \n      version\n      \n      Displays the version of the Meshery Client (mesheryctl) and the SHA of the release binary.\n    \n  \n  \n  \n    completion\n    \n    Output shell completion code for the specified shell.\n  \n  \n\n\n\nMeshery Lifecycle Management and Troubleshooting\n\nInstallation, troubleshooting and debugging of Meshery and its adapters.\n\n\n\n  \n    Main Command\n    Arguments\n    Flag\n    Function\n  \n  \n    \n      system\n      \n      \n      Lifecycle management of Meshery deployments\n    \n    \n      \n        \n        --context, -c\n        Temporarily override your current context by specifying an alternative context as an argument.\n      \n    \n    \n      \n        start\n        \n        Start Meshery\n      \n    \n      \n        --skip-update\n        (optional) skip checking for new updates available in Meshery.\n      \n    \n      \n        --reset\n        Reset Meshery’s configuration file to default settings.\n      \n    \n      \n        --silent\n        Silently create Meshery's configuration file with default settings.\n      \n    \n    \n    \n      stop\n      \n      Stop Meshery\n    \n    \n      \n        --reset\n        Reset Meshery’s configuration file to default settings.\n      \n    \n    \n    \n      update\n      \n      Pull new Meshery images from Docker Hub. Does not update `mesheryctl`. This command may be executed while Meshery is running.\n    \n    \n      \n        --skip-reset\n        Pull the latest manifest files\n      \n    \n    \n    \n      config\n      \n      Configures Meshery to use a Kubernetes cluster.\n    \n    \n      \n        --token\n        Path to token for authenticating to Meshery API.\n      \n    \n    \n    \n      reset\n      \n      Resets meshery.yaml file with a copy from Meshery repo\n    \n    \n    \n    \n      logs\n      \n      Starts tailing Meshery server debug logs\n    \n    \n    \n    \n      restart\n      \n      restart all Meshery containers, their instances and their connected volumes\n    \n    \n      \n        --skip-update\n        (optional) skip checking for new updates available in Meshery.\n      \n    \n    \n    \n      status\n      \n      Check status of Meshery, Meshery adapters, Meshery Operator and its controllers.\n    \n    \n    \n    \n      login\n      \n      Authenticate with the Meshery Provider of your choice: the Local Provider or a Remote Provider.\n    \n    \n    \n    \n      logout\n      \n      Invalidate current session with your Meshery Provider.\n    \n    \n    \n    \n      check\n      \n      Run system checks for both pre and post mesh deployment scenarios on Meshery\n    \n    \n      \n        --preflight\n        Run Pre-mesh deployment checks (Docker and Kubernetes)\n      \n    \n      \n        --adapter\n        Run checks on specific mesh adapter\n      \n    \n      \n        --operator\n        Verify the health of Meshery Operator's deployment with MeshSync and Broker\n      \n    \n      \n        --report\n        Runs diagnostic checks and bundles up to open an issue if present\n      \n    \n\n  \n        \n          system-channel\n          \n          \n          Switch between release channels.\n        \n        \n          \n            set\n            \n            Subscribe to release channel and version.\n          \n        \n          \n            switch\n            \n            switch release channel and version\n          \n    \n        \n            view\n            \n            view release channel and version\n          \n    \n      \n        --all, -a\n        view release channel and version\n      \n    \n    \n      \n        system-context\n        \n        \n        Display the current context.\n      \n      \n        \n          create\n          \n          create a new context in config.yaml file\n        \n      \n        \n          --adapters\n          create a new context in config.yaml file- specify the list of adapters to be added\n        \n      \n        \n          --set, -s\n          create a new context in config.yaml file- set as current context\n        \n      \n        \n          --url, -u\n          create a new context in config.yaml file- set Meshery server URL. Defaults to \"https://localhost:9081\"\n        \n      \n      \n        \n          delete\n          \n          delete an existing context from Meshery config file\n        \n      \n        \n          view\n          \n          view the configurations of the current context\n        \n      \n        \n          --context\n          view the configurations of the specified context\n        \n      \n        \n          --all\n          if set, shows the configurations of all the contexts\n        \n      \n      \n        \n          switch\n          \n          configure mesheryctl to actively use one one context vs. the another context\n        \n      \n\n\n\nService Mesh Performance Management\n\n\n\n  \n    Main Command\n    Arguments\n    Flag\n    Function\n  \n  \n    \n      perf\n      \n      \n      Performance Management and Benchmarking using Meshery CLI\n    \n    \n      \n        \n        --output-format, -o\n        format to display in json or yaml.\n      \n    \n      \n        \n        --token\n        (required) Path to Meshery user's access token.\n      \n    \n  \n      \n        apply\n        \n        Runs Performance test using existing profiles or using flags.\n      \n  \n      \n        --concurrent-requests\n        Number of Parallel Requests (default: 1).\n      \n  \n      \n        --duration\n        Length of the test.\n      \n  \n      \n        --file\n        Path to service mesh performance test configuration file (default: empty string).\n      \n  \n      \n        --load-generator\n        Choice of load generator - fortio (OR) wrk2 (default: fortio).\n      \n  \n      \n        --mesh\n        Name of the service mesh.\n      \n  \n      \n        --name\n        A memorable name for the test (default: random string).\n      \n  \n      \n        --qps\n        Queries per second (default: 0) (0 - means to use the CPU unbounded to generate as many requests as possible).\n      \n  \n      \n        --url\n        (required/optional) URL of the endpoint send load to during testing.\n      \n  \n  \n      \n        profile\n        \n        List the available performance profiles.\n      \n  \n      \n        --page\n        (optional) List next set of performance profiles with --page (default = 1) (default 1).\n      \n  \n      \n        --view\n        (optional) View more information of the performance profile.\n      \n  \n  \n      \n        result\n        \n        View the results of a performance profile.\n      \n  \n      \n        --page\n        (optional) List next set of performance results with --page (default = 1) (default 1).\n      \n  \n      \n        --view\n        (optional) View more information of the performance test results.\n      \n  \n\n\n\nService Mesh Lifecycle and Configuration Management\n\n\n\n  \n    Main Command\n    Command\n    Flag\n    Function\n  \n  \n    \n      mesh\n      \n      \n      Lifecycle management of service meshes\n    \n    \n      \n        validate\n        \n        validate service mesh conformance to different standard specifications\n      \n      \n        \n          --adapter, -a\n          (required) adapter to use for validation. Defaults to \"meshery-osm:10010\"\n        \n      \n        \n          --namespace, -n\n          Kubernetes namespace to be used for deploying the validation tests and sample workload\n        \n      \n        \n          --spec, -s\n          (required) specification to be used for conformance test. Defaults to \"smi\"\n        \n      \n        \n          --tokenpath, -t\n          (required) path to token for authenticating to Meshery API\n        \n      \n    \n      \n        deploy\n        \n        Deploy a service mesh into the cluster\n      \n      \n        \n          --adapter, -a\n          (required) adapter to use for validation. Defaults to \"meshery-osm:10010\"\n        \n      \n        \n          --namespace, -n\n          Kubernetes namespace to be used for deploying the validation tests and sample workload\n        \n      \n        \n          --tokenpath, -t\n          (required) path to token for authenticating to Meshery API\n        \n      \n\n\n\nService Mesh Pattern Configuration and Management\n\n\n\n  \n    Main Command\n    Command\n    Flag\n    Function\n  \n  \n    \n      pattern\n      \n      \n      \n    \n    \n      \n        \n        --file, -f\n        (required) path to pattern file.\n      \n    \n    \n      \n        list\n        \n        displays a list of available pattern files\n      \n      \n        \n          \n          --all, -a\n          show all pattern file metadata\n      \n      \n    \n      \n        apply\n        \n        apply pattern file will trigger deploy of the pattern file\n      \n      \n        \n          \n          --file, -f\n          apply pattern file will trigger deploy of the pattern file and also supports file retrieval from GitHub\n      \n      \n    \n      \n        view\n        \n        displays the contents of a specific pattern file\n      \n      \n        \n          \n          --all, -a\n          show all pattern file content\n      \n      \n        \n          \n          -o json\n          display the content of a pattern in json format\n      \n      \n    \n      \n        delete\n        \n        Deprovision the resources/ service mesh using the pattern file\n      \n      \n        \n          \n          --file, -f\n          Deletes the resources that were created, using pattern file\n      \n      \n\n\n\nService Mesh Application Management\n\n\n\n  \n    Main Command\n    Command\n    Flag\n    Function\n  \n  \n    \n      app\n      \n      \n      Service Mesh application management\n    \n    \n      \n        \n        --file, -f\n        (required) path to pattern file\n      \n    \n    \n      \n        onboard\n        \n        onboard application\n      \n    \n      \n        \n        --file, -f\n        onboard application with application file\n      \n    \n    \n      \n        offboard\n        \n        offboard application\n      \n    \n      \n        \n        --file, -f\n        Offboard application with an application file\n      \n    \n    \n      \n        list\n        \n        displays a list of available applications\n      \n    \n      \n        view\n        \n        displays the contents of a application\n      \n      \n        \n          \n          --all, -a\n          show all application file content\n      \n      \n        \n          \n          -o json\n          display the content of an application in json format\n      \n      \n\n\n\nData Plane Intelligence (experimental feature)\n\n\n\n  \n    Main Command\n    Command\n    Flag\n    Function\n  \n  \n    \n      filter\n      \n      \n      Service Mesh Filter Management (experimental feature)\n    \n    \n      \n        \n        --file, -f\n        (required) path to WASM file [GitHub links only supported]\n      \n    \n    \n      \n        apply\n        \n        Apply WASM file to deploy a filter\n      \n    \n    \n      \n        delete\n        \n        Delete filter from Meshery\n      \n    \n    \n      \n        list\n        \n        List all WASM filters\n      \n    \n      \n        view\n        \n        View the specified WASM filter"
					}




					,

					"reference-mesheryctl-completion": {
						"id": "reference-mesheryctl-completion",
						"title": "mesheryctl-completion",
						"categories": "",
						"url": " /reference/mesheryctl/completion",
						"content": "mesheryctl completion\n\nOutput shell completion code\n\nSynopsis\n\nOutput shell completion code\n\n\n\nmesheryctl completion [bash|zsh|fish]\n\n\n\n\nExamples\n\n\n\n  # bash &lt;= 3.2\n\n\n\n\n\n\n  source /dev/stdin &lt;&lt;&lt; \"$(mesheryctl completion bash)\"\n\n\n\n\n\n\n  # bash &gt;= 4.0\n\n\n\n\n\n\n  source &lt;(mesheryctl completion bash)\n\n\n\n\n\n\n  # bash &lt;= 3.2 on osx\n\n\n\n\n\n\n  brew install bash-completion # ensure you have bash-completion 1.3+\n\n\n\n\n\n\n  mesheryctl completion bash &gt; $(brew --prefix)/etc/bash_completion.d/mesheryctl\n\n\n\n\n\n\n  # bash &gt;= 4.0 on osx\n\n\n\n\n\n\n  brew install bash-completion@2\n\n\n\n\n\n\n  mesheryctl completion bash &gt; $(brew --prefix)/etc/bash_completion.d/mesheryctl\n\n\n\n\n\n\n  # zsh\n\n\n\n\n\n\n  # If shell completion is not already enabled in your environment you will need\n\n\n\n\n\n\n  # to enable it.  You can execute the following once:\n\n\n\n\n\n\n  # Might need to start a new shell for this setup to take effect.\n\n\n\n\n\n\n  $ echo \"autoload -U compinit; compinit\" &gt;&gt; ~/.zshrc\n\n\n\n\n\n\n  source &lt;(mesheryctl completion zsh)\n\n\n\n\n\n\n  # zsh on osx / oh-my-zsh\n\n\n\n\n\n\n  COMPLETION_DIR=$(echo $fpath | grep -o '[^ ]*completions' | grep -v cache) &amp;&amp; mkdir -p $COMPLETION_DIR &amp;&amp; mesheryctl completion zsh &gt; \"${COMPLETION_DIR}/_mesheryctl\"\n\n\n\n\n\n\n  # fish:\n\n\n\n\n\n\n  mesheryctl completion fish | source\n\n\n\n\n\n\n  # To load fish shell completions for each session, execute once:\n\n\n\n\n\n\n  mesheryctl completion fish &gt; ~/.config/fish/completions/mesheryctl.fish\n\n\n\n\nOptions\n\n\n\n  -h, --help   help for completion\n\n\n\n\nOptions inherited from parent commands\n\n\n\n      --config string   path to config file (default \"/home/runner/.meshery/config.yaml\")\n  -v, --verbose         verbose output\n\n\n\n\nSee Also\n\nGo back to command reference index"
					}




					,

					"reference-mesheryctl-exp-filter-apply": {
						"id": "reference-mesheryctl-exp-filter-apply",
						"title": "mesheryctl-exp-filter-apply",
						"categories": "",
						"url": " /reference/mesheryctl/exp/filter/apply",
						"content": "mesheryctl exp filter apply\n\nApply filter file\n\nSynopsis\n\nApply filter file will trigger deploy of the filter file\n\n\n\nmesheryctl exp filter apply [flags]\n\n\n\n\nExamples\n\nApply WASM filter file (login required)\n\n\nmesheryctl exp filter apply --file [GitHub Link]\n\n\n\n\nApply the file\n\n\nmesheryctl exp filter apply --file https://github.com/layer5io/wasm-filters/tree/master/http-auth\n\n\n\n\nOptions\n\n\n\n  -f, --file string   Path to filter file\n  -h, --help          help for apply\n      --skip-save     Skip saving a filter\n\n\n\n\nOptions inherited from parent commands\n\n\n\n      --config string   path to config file (default \"/home/runner/.meshery/config.yaml\")\n  -t, --token string    Path to token file default from current context\n  -v, --verbose         verbose output\n\n\n\n\nSee Also\n\nGo back to command reference index"
					}




					,

					"reference-mesheryctl-exp-filter-delete": {
						"id": "reference-mesheryctl-exp-filter-delete",
						"title": "mesheryctl-exp-filter-delete",
						"categories": "",
						"url": " /reference/mesheryctl/exp/filter/delete",
						"content": "mesheryctl exp filter delete\n\nDelete filter file\n\nSynopsis\n\ndelete filter file will trigger deletion of the filter file\n\n\n\nmesheryctl exp filter delete [flags]\n\n\n\n\nExamples\n\nDelete the specified WASM filter file using name or ID\n\n\nmesheryctl exp filter delete [filter-name | ID]\n\n\n\n\nDelete using the file name\n\n\nmesheryctl exp filter delete test-wasm\n\n\n\n\nOptions\n\n\n\n  -h, --help   help for delete\n\n\n\n\nOptions inherited from parent commands\n\n\n\n      --config string   path to config file (default \"/home/runner/.meshery/config.yaml\")\n  -t, --token string    Path to token file default from current context\n  -v, --verbose         verbose output\n\n\n\n\nSee Also\n\nGo back to command reference index"
					}




					,

					"reference-mesheryctl-exp-filter-list": {
						"id": "reference-mesheryctl-exp-filter-list",
						"title": "mesheryctl-exp-filter-list",
						"categories": "",
						"url": " /reference/mesheryctl/exp/filter/list",
						"content": "mesheryctl exp filter list\n\nList filters\n\nSynopsis\n\nDisplay list of all available filter files.\n\n\n\nmesheryctl exp filter list [flags]\n\n\n\n\nExamples\n\nList all WASM filter files present\n\n\nmesheryctl exp filter list\t\n\n\n\n\nOptions\n\n\n\n  -h, --help   help for list\n\n\n\n\nOptions inherited from parent commands\n\n\n\n      --config string   path to config file (default \"/home/runner/.meshery/config.yaml\")\n  -t, --token string    Path to token file default from current context\n  -v, --verbose         verbose output\n\n\n\n\nSee Also\n\nGo back to command reference index"
					}




					,

					"reference-mesheryctl-exp-filter-view": {
						"id": "reference-mesheryctl-exp-filter-view",
						"title": "mesheryctl-exp-filter-view",
						"categories": "",
						"url": " /reference/mesheryctl/exp/filter/view",
						"content": "mesheryctl exp filter view\n\nDisplay filters(s)\n\nSynopsis\n\nDisplays the contents of a specific filter based on name or id\n\n\n\nmesheryctl exp filter view [filter name] [flags]\n\n\n\n\nExamples\n\nView the specified WASM filter file\n\n\nmesheryctl exp filter view [filter-name | ID]\t\n\n\n\n\nView using filter name\n\n\nmesheryctl exp filter view test-wasm\n\n\n\n\nOptions\n\n\n\n  -a, --all                    (optional) view all filters available\n  -h, --help                   help for view\n  -o, --output-format string   (optional) format to display in [json|yaml] (default \"yaml\")\n\n\n\n\nOptions inherited from parent commands\n\n\n\n      --config string   path to config file (default \"/home/runner/.meshery/config.yaml\")\n  -t, --token string    Path to token file default from current context\n  -v, --verbose         verbose output\n\n\n\n\nSee Also\n\nGo back to command reference index"
					}




					,

					"reference-mesheryctl-exp-filter": {
						"id": "reference-mesheryctl-exp-filter",
						"title": "mesheryctl-exp-filter",
						"categories": "",
						"url": " /reference/mesheryctl/exp/filter",
						"content": "mesheryctl exp filter\n\nService Mesh Filter Management\n\n\n\nmesheryctl exp filter [flags]\n\n\n\n\nExamples\n\nBase command for WASM filters (experimental feature)\n\n\nmesheryctl exp filter [subcommands]\t\n\n\n\n\nOptions\n\n\n\n  -h, --help           help for filter\n  -t, --token string   Path to token file default from current context\n\n\n\n\nOptions inherited from parent commands\n\n\n\n      --config string   path to config file (default \"/home/runner/.meshery/config.yaml\")\n  -v, --verbose         verbose output\n\n\n\n\nSee Also\n\nGo back to command reference index"
					}




					,

					"reference-mesheryctl-exp": {
						"id": "reference-mesheryctl-exp",
						"title": "mesheryctl-exp",
						"categories": "",
						"url": " /reference/mesheryctl/exp",
						"content": "mesheryctl exp\n\nExperimental commands for mesheryctl\n\nSynopsis\n\nList of experimental commands for testing and evaluation purpose.\n\n\n\nmesheryctl exp [flags]\n\n\n\n\nOptions\n\n\n\n  -h, --help   help for exp\n\n\n\n\nOptions inherited from parent commands\n\n\n\n      --config string   path to config file (default \"/home/runner/.meshery/config.yaml\")\n  -v, --verbose         verbose output\n\n\n\n\nSee Also\n\nGo back to command reference index"
					}




					,

					"reference-mesheryctl-mesh-deploy": {
						"id": "reference-mesheryctl-mesh-deploy",
						"title": "mesheryctl-mesh-deploy",
						"categories": "",
						"url": " /reference/mesheryctl/mesh/deploy",
						"content": "mesheryctl mesh deploy\n\nDeploy a service mesh to the Kubernetes cluster\n\nSynopsis\n\nDeploy a service mesh to the connected Kubernetes cluster\n\n\n\nmesheryctl mesh deploy [flags]\n\n\n\n\nExamples\n\nDeploy a service mesh from an interactive on the default namespace\n\n\nmesheryctl mesh deploy\n\n\n\n\nDeploy Linkerd mesh on a specific namespace\n\n\nmesheryctl mesh deploy --adapter meshery-linkerd --namespace linkerd-ns\n\n\n\n\nDeploy Linkerd mesh and wait for it to be deployed\n\n\nmesheryctl mesh deploy --adapter meshery-linkerd --watch\n\n\n\n\n\n\n\t\t\n\n\n\n\nOptions\n\n\n\n  -a, --adapter string     Adapter to use for installation (default \"meshery-istio:10000\")\n  -h, --help               help for deploy\n  -n, --namespace string   Kubernetes namespace to be used for deploying the validation tests and sample workload (default \"default\")\n  -t, --token string       Path to token for authenticating to Meshery API\n  -w, --watch              Watch for events and verify operation (in beta testing)\n\n\n\n\nOptions inherited from parent commands\n\n\n\n      --config string   path to config file (default \"/home/runner/.meshery/config.yaml\")\n  -v, --verbose         verbose output\n\n\n\n\nScreenshots\n\nUsage of mesheryctl mesh deploy\n\n\nSee Also\n\nGo back to command reference index"
					}




					,

					"reference-mesheryctl-mesh-remove": {
						"id": "reference-mesheryctl-mesh-remove",
						"title": "mesheryctl-mesh-remove",
						"categories": "",
						"url": " /reference/mesheryctl/mesh/remove",
						"content": "mesheryctl mesh remove\n\nremove a service mesh in the kubernetes cluster\n\nSynopsis\n\nremove service mesh in the connected kubernetes cluster\n\n\n\nmesheryctl mesh remove [flags]\n\n\n\n\nExamples\n\nRemove a service mesh\n\n\nmesheryctl mesh remove [mesh adapter name]\n\n\n\n\n\n\n\t\t\n\n\n\n\nOptions\n\n\n\n  -a, --adapter string     Adapter to use for installation (default \"meshery-istio:10000\")\n  -h, --help               help for remove\n  -n, --namespace string   Kubernetes namespace to be used for deploying the validation tests and sample workload (default \"default\")\n  -t, --token string       Path to token for authenticating to Meshery API\n\n\n\n\nOptions inherited from parent commands\n\n\n\n      --config string   path to config file (default \"/home/runner/.meshery/config.yaml\")\n  -v, --verbose         verbose output\n\n\n\n\nSee Also\n\nGo back to command reference index"
					}




					,

					"reference-mesheryctl-mesh-validate": {
						"id": "reference-mesheryctl-mesh-validate",
						"title": "mesheryctl-mesh-validate",
						"categories": "",
						"url": " /reference/mesheryctl/mesh/validate",
						"content": "mesheryctl mesh validate\n\nValidate conformance to service mesh standards\n\nSynopsis\n\nValidate service mesh conformance to different standard specifications\n\n\n\nmesheryctl mesh validate [flags]\n\n\n\n\nExamples\n\nValidate conformance to service mesh standards\n\n\nmesheryctl mesh validate --adapter [name of the adapter] --tokenPath [path to token for authentication] --spec [specification to be used for conformance test] --namespace [namespace to be used]\n\n\n\n\nOptions\n\n\n\n  -a, --adapter string   Adapter to use for validation (default \"meshery-osm\")\n  -h, --help             help for validate\n  -s, --spec string      specification to be used for conformance test (default \"smi\")\n  -t, --token string     Path to token for authenticating to Meshery API\n  -w, --watch            Watch for events and verify operation (in beta testing)\n\n\n\n\nOptions inherited from parent commands\n\n\n\n      --config string   path to config file (default \"/home/runner/.meshery/config.yaml\")\n  -v, --verbose         verbose output\n\n\n\n\nScreenshots\n\nUsage of mesheryctl mesh validate\n\n\nSee Also\n\nGo back to command reference index"
					}




					,

					"reference-mesheryctl-mesh": {
						"id": "reference-mesheryctl-mesh",
						"title": "mesheryctl-mesh",
						"categories": "",
						"url": " /reference/mesheryctl/mesh",
						"content": "mesheryctl mesh\n\nService Mesh Lifecycle Management\n\nSynopsis\n\nProvisioning, configuration, and on-going operational management of service meshes\n\n\n\nmesheryctl mesh [flags]\n\n\n\n\nExamples\n\nLifecycle management of service meshes\n\n\nmesheryctl mesh \n\n\n\n\nOptions\n\n\n\n  -h, --help   help for mesh\n\n\n\n\nOptions inherited from parent commands\n\n\n\n      --config string   path to config file (default \"/home/runner/.meshery/config.yaml\")\n  -v, --verbose         verbose output\n\n\n\n\nSee Also\n\nGo back to command reference index"
					}




					,

					"reference-mesheryctl-pattern-apply": {
						"id": "reference-mesheryctl-pattern-apply",
						"title": "mesheryctl-pattern-apply",
						"categories": "",
						"url": " /reference/mesheryctl/pattern/apply",
						"content": "mesheryctl pattern apply\n\nApply pattern file\n\nSynopsis\n\nApply pattern file will trigger deploy of the pattern file\n\n\n\nmesheryctl pattern apply [flags]\n\n\n\n\nExamples\n\napply a pattern file\n\n\nmesheryctl pattern apply -f [file | URL]\n\n\n\n\ndeploy a saved pattern\n\n\nmesheryctl pattern apply [pattern-name]\n\n\n\n\nOptions\n\n\n\n  -f, --file string   Path to pattern file\n  -h, --help          help for apply\n      --skip-save     Skip saving a pattern\n\n\n\n\nOptions inherited from parent commands\n\n\n\n      --config string   path to config file (default \"/home/runner/.meshery/config.yaml\")\n  -t, --token string    Path to token file default from current context\n  -v, --verbose         verbose output\n\n\n\n\nScreenshots\n\nUsage of mesheryctl pattern apply\n\n\nSee Also\n\nGo back to command reference index"
					}




					,

					"reference-mesheryctl-pattern-delete": {
						"id": "reference-mesheryctl-pattern-delete",
						"title": "mesheryctl-pattern-delete",
						"categories": "",
						"url": " /reference/mesheryctl/pattern/delete",
						"content": "mesheryctl pattern delete\n\nDelete pattern file\n\nSynopsis\n\ndelete pattern file will trigger deletion of the pattern file\n\n\n\nmesheryctl pattern delete [flags]\n\n\n\n\nExamples\n\ndelete a pattern file\n\n\nmesheryctl pattern delete [file | URL]\n\n\n\n\nOptions\n\n\n\n  -f, --file string   Path to pattern file\n  -h, --help          help for delete\n\n\n\n\nOptions inherited from parent commands\n\n\n\n      --config string   path to config file (default \"/home/runner/.meshery/config.yaml\")\n  -t, --token string    Path to token file default from current context\n  -v, --verbose         verbose output\n\n\n\n\nSee Also\n\nGo back to command reference index"
					}




					,

					"reference-mesheryctl-pattern-list": {
						"id": "reference-mesheryctl-pattern-list",
						"title": "mesheryctl-pattern-list",
						"categories": "",
						"url": " /reference/mesheryctl/pattern/list",
						"content": "mesheryctl pattern list\n\nList patterns\n\nSynopsis\n\nDisplay list of all available pattern files.\n\n\n\nmesheryctl pattern list [flags]\n\n\n\n\nExamples\n\nlist all available patterns\n\n\nmesheryctl pattern list\n\n\n\n\nOptions\n\n\n\n  -h, --help   help for list\n\n\n\n\nOptions inherited from parent commands\n\n\n\n      --config string   path to config file (default \"/home/runner/.meshery/config.yaml\")\n  -t, --token string    Path to token file default from current context\n  -v, --verbose         verbose output\n\n\n\n\nScreenshots\n\nUsage of mesheryctl pattern list\n\n\nSee Also\n\nGo back to command reference index"
					}




					,

					"reference-mesheryctl-pattern-view": {
						"id": "reference-mesheryctl-pattern-view",
						"title": "mesheryctl-pattern-view",
						"categories": "",
						"url": " /reference/mesheryctl/pattern/view",
						"content": "mesheryctl pattern view\n\nDisplay pattern(s)\n\nSynopsis\n\nDisplays the contents of a specific pattern based on name or id\n\n\n\nmesheryctl pattern view pattern name [flags]\n\n\n\n\nExamples\n\nview a pattern\n\n\nmesheryctl pattern view [pattern-name | ID]\n\n\n\n\nOptions\n\n\n\n  -a, --all                    (optional) view all patterns available\n  -h, --help                   help for view\n  -o, --output-format string   (optional) format to display in [json|yaml] (default \"yaml\")\n\n\n\n\nOptions inherited from parent commands\n\n\n\n      --config string   path to config file (default \"/home/runner/.meshery/config.yaml\")\n  -t, --token string    Path to token file default from current context\n  -v, --verbose         verbose output\n\n\n\n\nScreenshots\n\nUsage of mesheryctl pattern view\n\n\nSee Also\n\nGo back to command reference index"
					}




					,

					"reference-mesheryctl-pattern": {
						"id": "reference-mesheryctl-pattern",
						"title": "mesheryctl-pattern",
						"categories": "",
						"url": " /reference/mesheryctl/pattern",
						"content": "mesheryctl pattern\n\nService Mesh Patterns Management\n\nSynopsis\n\nManage service meshes using predefined patterns\n\n\n\nmesheryctl pattern [flags]\n\n\n\n\nExamples\n\nApply pattern file\n\n\nmesheryctl pattern apply --file [path to pattern file | URL of the file]\n\n\n\n\nDeprovision pattern file\n\n\nmesheryctl pattern delete --file [path to pattern file]\n\n\n\n\nView pattern file\n\n\nmesheryctl pattern view [pattern name | ID]\n\n\n\n\nList all patterns\n\n\nmesheryctl pattern list\n\n\n\n\nOptions\n\n\n\n  -h, --help           help for pattern\n  -t, --token string   Path to token file default from current context\n\n\n\n\nOptions inherited from parent commands\n\n\n\n      --config string   path to config file (default \"/home/runner/.meshery/config.yaml\")\n  -v, --verbose         verbose output\n\n\n\n\nSee Also\n\nGo back to command reference index"
					}




					,

					"reference-mesheryctl-perf-apply": {
						"id": "reference-mesheryctl-perf-apply",
						"title": "mesheryctl-perf-apply",
						"categories": "",
						"url": " /reference/mesheryctl/perf/apply",
						"content": "mesheryctl perf apply\n\nRun a Performance test\n\nSynopsis\n\nRun Performance test using existing profiles or using flags\n\n\n\nmesheryctl perf apply [profile-name | --file] --flags [flags]\n\n\n\n\nExamples\n\nExecute a Performance test with the specified performance profile\n\n\nmesheryctl perf apply meshery-profile --flags\n\n\n\n\nExecute a Performance test with creating a new performance profile\n\n\nmesheryctl perf apply meshery-profile-new --url \"https://google.com\"\n\n\n\n\nRun Performance test using SMP compatible test configuration\n\n\nmesheryctl perf apply -f perf-config.yaml\n\n\n\n\nRun performance test using SMP compatible test configuration and override values with flags\n\n\nmesheryctl perf apply -f [filepath] --flags\n\n\n\n\nChoice of load generator - fortio or wrk2 (default: fortio)\n\n\nmesheryctl perf apply meshery-test --load-generator wrk2\n\n\n\n\nExecute a Performance test with specified queries per second\n\n\nmesheryctl perf apply local-perf --url https://192.168.1.15/productpage --qps 30\n\n\n\n\nExecute a Performance test with specified service mesh\n\n\nmesheryctl perf apply local-perf --url https://192.168.1.15/productpage --mesh istio\n\n\n\n\nOptions\n\n\n\n      --concurrent-requests string   (optional) Number of Parallel Requests\n      --duration string              (optional) Length of test (e.g. 10s, 5m, 2h). For more, see https://golang.org/pkg/time/#ParseDuration\n  -f, --file string                  (optional) file containing SMP-compatible test configuration. For more, see https://github.com/layer5io/service-mesh-performance-specification\n  -h, --help                         help for apply\n      --load-generator string        (optional) Load-Generator to be used (fortio/wrk2)\n      --mesh string                  (optional) Name of the Service Mesh\n      --name string                  (optional) Name of the Test\n      --qps string                   (optional) Queries per second\n      --url string                   (optional) Endpoint URL to test (required with --profile)\n\n\n\n\nOptions inherited from parent commands\n\n\n\n      --config string          path to config file (default \"/home/runner/.meshery/config.yaml\")\n  -o, --output-format string   (optional) format to display in [json|yaml]\n  -t, --token string           (required) Path to meshery auth config\n  -v, --verbose                verbose output\n  -y, --yes                    (optional) assume yes for user interactive prompts.\n\n\n\n\nScreenshots\n\nUsage of mesheryctl perf apply\n\n\nSee Also\n\nGo back to command reference index"
					}




					,

					"reference-mesheryctl-perf-profile": {
						"id": "reference-mesheryctl-perf-profile",
						"title": "mesheryctl-perf-profile",
						"categories": "",
						"url": " /reference/mesheryctl/perf/profile",
						"content": "mesheryctl perf profile\n\nList performance profiles\n\nSynopsis\n\nList all the available performance profiles\n\n\n\nmesheryctl perf profile [profile-name] [flags]\n\n\n\n\nExamples\n\nList performance profiles (maximum 25 profiles)\n\n\nmesheryctl perf profile\n\n\n\n\nList performance profiles with search (maximum 25 profiles)\n\n\nmesheryctl perf profile test 2\n\n\n\n\nView single performance profile with detailed information\n\n\nmesheryctl perf profile test --view\n\n\n\n\nOptions\n\n\n\n  -h, --help       help for profile\n  -p, --page int   (optional) List next set of performance results with --page (default = 1) (default 1)\n      --view       (optional) View single performance profile with more info\n\n\n\n\nOptions inherited from parent commands\n\n\n\n      --config string          path to config file (default \"/home/runner/.meshery/config.yaml\")\n  -o, --output-format string   (optional) format to display in [json|yaml]\n  -t, --token string           (required) Path to meshery auth config\n  -v, --verbose                verbose output\n  -y, --yes                    (optional) assume yes for user interactive prompts.\n\n\n\n\nSee Also\n\nGo back to command reference index"
					}




					,

					"reference-mesheryctl-perf-result": {
						"id": "reference-mesheryctl-perf-result",
						"title": "mesheryctl-perf-result",
						"categories": "",
						"url": " /reference/mesheryctl/perf/result",
						"content": "mesheryctl perf result\n\nList performance test results\n\nSynopsis\n\nList all the available test results of a performance profile\n\n\n\nmesheryctl perf result profile-name [flags]\n\n\n\n\nExamples\n\nList Test results (maximum 25 results)\n\n\nmesheryctl perf result saturday-profile\n\n\n\n\nView other set of performance results with –page (maximum 25 results)\n\n\nmesheryctl perf result saturday-profile --page 2\n\n\n\n\nView single performance result with detailed information\n\n\nmesheryctl perf result saturday-profile --view\n\n\n\n\nOptions\n\n\n\n  -h, --help       help for result\n  -p, --page int   (optional) List next set of performance results with --page (default = 1) (default 1)\n      --view       (optional) View single performance results with more info\n\n\n\n\nOptions inherited from parent commands\n\n\n\n      --config string          path to config file (default \"/home/runner/.meshery/config.yaml\")\n  -o, --output-format string   (optional) format to display in [json|yaml]\n  -t, --token string           (required) Path to meshery auth config\n  -v, --verbose                verbose output\n  -y, --yes                    (optional) assume yes for user interactive prompts.\n\n\n\n\nScreenshots\n\nUsage of mesheryctl perf result\n\n\nSee Also\n\nGo back to command reference index"
					}




					,

					"reference-mesheryctl-perf": {
						"id": "reference-mesheryctl-perf",
						"title": "mesheryctl-perf",
						"categories": "",
						"url": " /reference/mesheryctl/perf",
						"content": "mesheryctl perf\n\nPerformance Management\n\nSynopsis\n\nPerformance Management &amp; Benchmarking\n\n\n\nmesheryctl perf [flags]\n\n\n\n\nExamples\n\nRun performance test\n\n\nmesheryctl perf apply test-3 --name \"a quick stress test\" --url http://192.168.1.15/productpage --qps 300 --concurrent-requests 2 --duration 30s\n\n\n\n\nList performance profiles\n\n\nmesheryctl perf profile sam-test\n\n\n\n\nList performance results\n\n\nmesheryctl perf result sam-test\n\n\n\n\nDisplay Perf profile in JSON or YAML\n\n\nmesheryctl perf result -o json\n\n\n\n\n\n\nmesheryctl perf result -o yaml\n\n\n\n\nOptions\n\n\n\n  -h, --help                   help for perf\n  -o, --output-format string   (optional) format to display in [json|yaml]\n  -t, --token string           (required) Path to meshery auth config\n  -y, --yes                    (optional) assume yes for user interactive prompts.\n\n\n\n\nOptions inherited from parent commands\n\n\n\n      --config string   path to config file (default \"/home/runner/.meshery/config.yaml\")\n  -v, --verbose         verbose output\n\n\n\n\nSee Also\n\nGo back to command reference index"
					}




					,

					"reference-mesheryctl-system-channel-set": {
						"id": "reference-mesheryctl-system-channel-set",
						"title": "mesheryctl-system-channel-set",
						"categories": "",
						"url": " /reference/mesheryctl/system/channel/set",
						"content": "mesheryctl system channel set\n\nset release channel and version\n\nSynopsis\n\nSet release channel and version of context in focus\n\n\n\nmesheryctl system channel set [stable|stable-version|edge|edge-version] [flags]\n\n\n\n\nExamples\n\nSubscribe to release channel or version\n\n\nmesheryctl system channel set [stable|stable-version|edge|edge-version]\n\n\n\n\nOptions\n\n\n\n  -h, --help   help for set\n\n\n\n\nOptions inherited from parent commands\n\n\n\n      --config string    path to config file (default \"/home/runner/.meshery/config.yaml\")\n  -c, --context string   (optional) temporarily change the current context.\n  -v, --verbose          verbose output\n  -y, --yes              (optional) assume yes for user interactive prompts.\n\n\n\n\nSee Also\n\nGo back to command reference index"
					}




					,

					"reference-mesheryctl-system-channel-switch": {
						"id": "reference-mesheryctl-system-channel-switch",
						"title": "mesheryctl-system-channel-switch",
						"categories": "",
						"url": " /reference/mesheryctl/system/channel/switch",
						"content": "mesheryctl system channel switch\n\nswitch release channel and version\n\nSynopsis\n\nSwitch release channel and version of context in focus\n\n\n\nmesheryctl system channel switch [stable|stable-version|edge|edge-version] [flags]\n\n\n\n\nExamples\n\nSwitch between release channels\n\n\nmesheryctl system channel switch [stable|stable-version|edge|edge-version]\n\n\n\n\nOptions\n\n\n\n  -h, --help   help for switch\n\n\n\n\nOptions inherited from parent commands\n\n\n\n      --config string    path to config file (default \"/home/runner/.meshery/config.yaml\")\n  -c, --context string   (optional) temporarily change the current context.\n  -v, --verbose          verbose output\n  -y, --yes              (optional) assume yes for user interactive prompts.\n\n\n\n\nSee Also\n\nGo back to command reference index"
					}




					,

					"reference-mesheryctl-system-channel-view": {
						"id": "reference-mesheryctl-system-channel-view",
						"title": "mesheryctl-system-channel-view",
						"categories": "",
						"url": " /reference/mesheryctl/system/channel/view",
						"content": "mesheryctl system channel view\n\nview release channel and version\n\nSynopsis\n\nView release channel and version of context in focus\n\n\n\nmesheryctl system channel view [flags]\n\n\n\n\nExamples\n\nView current release channel\n\n\nmesheryctl system channel view\n\n\n\n\nOptions\n\n\n\n  -a, --all    Show release channel for all contexts\n  -h, --help   help for view\n\n\n\n\nOptions inherited from parent commands\n\n\n\n      --config string    path to config file (default \"/home/runner/.meshery/config.yaml\")\n  -c, --context string   (optional) temporarily change the current context.\n  -v, --verbose          verbose output\n  -y, --yes              (optional) assume yes for user interactive prompts.\n\n\n\n\nSee Also\n\nGo back to command reference index"
					}




					,

					"reference-mesheryctl-system-channel": {
						"id": "reference-mesheryctl-system-channel",
						"title": "mesheryctl-system-channel",
						"categories": "",
						"url": " /reference/mesheryctl/system/channel",
						"content": "mesheryctl system channel\n\nSwitch between release channels\n\nSynopsis\n\nSubscribe to a release channel. Choose between either ‘stable’ or ‘edge’ channels.\n\n\n\nmesheryctl system channel [flags]\n\n\n\n\nExamples\n\nSubscribe to release channel or version\n\n\nmesheryctl system channel [stable|stable-version|edge|edge-version]\n\n\n\n\nOptions\n\n\n\n  -h, --help   help for channel\n\n\n\n\nOptions inherited from parent commands\n\n\n\n      --config string    path to config file (default \"/home/runner/.meshery/config.yaml\")\n  -c, --context string   (optional) temporarily change the current context.\n  -v, --verbose          verbose output\n  -y, --yes              (optional) assume yes for user interactive prompts.\n\n\n\n\nSee Also\n\nGo back to command reference index"
					}




					,

					"reference-mesheryctl-system-check": {
						"id": "reference-mesheryctl-system-check",
						"title": "mesheryctl-system-check",
						"categories": "",
						"url": " /reference/mesheryctl/system/check",
						"content": "mesheryctl system check\n\nMeshery environment check\n\nSynopsis\n\nVerify environment pre/post-deployment of Meshery.\n\n\n\nmesheryctl system check [flags]\n\n\n\n\nExamples\n\nRun system checks for both pre and post mesh deployment scenarios on Meshery\n\n\nmesheryctl system check\n\n\n\n\nRun Pre-mesh deployment checks (Docker and Kubernetes)\n\n\nmesheryctl system check --preflight\n\n\n\n\nRun checks on specific mesh adapter\n\n\nmesheryctl system check --adapter meshery-istio:10000\n\n\n\n\nVerify the health of Meshery Operator’s deployment with MeshSync and Broker\n\n\nmesheryctl system check --operator\n\n\n\n\nRuns diagnostic checks and bundles up to open an issue if present\n\n\nmesheryctl system check --report\n\n\n\n\nOptions\n\n\n\n      --components   Check status of Meshery components\n  -h, --help         help for check\n      --pre          Verify environment readiness to deploy Meshery\n      --preflight    Verify environment readiness to deploy Meshery\n\n\n\n\nOptions inherited from parent commands\n\n\n\n      --config string    path to config file (default \"/home/runner/.meshery/config.yaml\")\n  -c, --context string   (optional) temporarily change the current context.\n  -v, --verbose          verbose output\n  -y, --yes              (optional) assume yes for user interactive prompts.\n\n\n\n\nScreenshots\n\nUsage of mesheryctl system check\n\n\nSee Also\n\nGo back to command reference index"
					}




					,

					"reference-mesheryctl-system-completion": {
						"id": "reference-mesheryctl-system-completion",
						"title": "mesheryctl-system-completion",
						"categories": "",
						"url": " /reference/mesheryctl/system/completion",
						"content": "mesheryctl system completion\n\nOutput shell completion code\n\nSynopsis\n\nOutput shell completion code\n\n\n\nmesheryctl system completion [bash|zsh|fish]\n\n\n\n\nExamples\n\n\n\n  # bash &lt;= 3.2\n\n\n\n\n\n\n  source /dev/stdin &lt;&lt;&lt; \"$(mesheryctl system completion bash)\"\n\n\n\n\n\n\n  # bash &gt;= 4.0\n\n\n\n\n\n\n  source &lt;(mesheryctl system completion bash)\n\n\n\n\n\n\n  # bash &lt;= 3.2 on osx\n\n\n\n\n\n\n  brew install bash-completion # ensure you have bash-completion 1.3+\n\n\n\n\n\n\n  mesheryctl system completion bash &gt; $(brew --prefix)/etc/bash_completion.d/mesheryctl\n\n\n\n\n\n\n  # bash &gt;= 4.0 on osx\n\n\n\n\n\n\n  brew install bash-completion@2\n\n\n\n\n\n\n  mesheryctl system completion bash &gt; $(brew --prefix)/etc/bash_completion.d/mesheryctl\n\n\n\n\n\n\n  # zsh\n\n\n\n\n\n\n  # If shell completion is not already enabled in your environment you will need\n\n\n\n\n\n\n  # to enable it.  You can execute the following once:\n\n\n\n\n\n\n  # Might need to start a new shell for this setup to take effect.\n\n\n\n\n\n\n  $ echo \"autoload -U compinit; compinit\" &gt;&gt; ~/.zshrc\n\n\n\n\n\n\n  source &lt;(mesheryctl system completion zsh)\n\n\n\n\n\n\n  # zsh on osx / oh-my-zsh\n\n\n\n\n\n\n  mesheryctl system completion zsh &gt; \"${fpath[1]}/_mesheryctl\"\n\n\n\n\n\n\n  # fish:\n\n\n\n\n\n\n  mesheryctl system completion fish | source\n\n\n\n\n\n\n  # To load fish shell completions for each session, execute once:\n\n\n\n\n\n\n  mesheryctl system completion fish &gt; ~/.config/fish/completions/mesheryctl.fish\n\n\n\n\nOptions\n\n\n\n  -h, --help   help for completion\n\n\n\n\nOptions inherited from parent commands\n\n\n\n      --config string    path to config file (default \"/home/runner/.meshery/config.yaml\")\n  -c, --context string   (optional) temporarily change the current context.\n  -v, --verbose          verbose output\n  -y, --yes              (optional) assume yes for user interactive prompts.\n\n\n\n\nSee Also\n\nGo back to command reference index"
					}




					,

					"reference-mesheryctl-system-config-aks": {
						"id": "reference-mesheryctl-system-config-aks",
						"title": "mesheryctl-system-config-aks",
						"categories": "",
						"url": " /reference/mesheryctl/system/config/aks",
						"content": "mesheryctl system config aks\n\nConfigure Meshery to use AKS cluster\n\nSynopsis\n\nConfigure Meshery to connect to AKS cluster\n\n\n\nmesheryctl system config aks [flags]\n\n\n\n\nExamples\n\nConfigure Meshery to connect to AKS cluster using auth token\n\n\nmesheryctl system config aks --token auth.json\n\n\n\n\nConfigure Meshery to connect to AKS cluster (if session is logged in using login subcommand)\n\n\nmesheryctl system config aks\n\n\n\n\nOptions\n\n\n\n  -h, --help           help for aks\n  -t, --token string   Path to token for authenticating to Meshery API\n\n\n\n\nOptions inherited from parent commands\n\n\n\n      --config string    path to config file (default \"/home/runner/.meshery/config.yaml\")\n  -c, --context string   (optional) temporarily change the current context.\n  -v, --verbose          verbose output\n  -y, --yes              (optional) assume yes for user interactive prompts.\n\n\n\n\nSee Also\n\nGo back to command reference index"
					}




					,

					"reference-mesheryctl-system-config-eks": {
						"id": "reference-mesheryctl-system-config-eks",
						"title": "mesheryctl-system-config-eks",
						"categories": "",
						"url": " /reference/mesheryctl/system/config/eks",
						"content": "mesheryctl system config eks\n\nConfigure Meshery to use EKS cluster\n\nSynopsis\n\nConfigure Meshery to connect to EKS cluster\n\n\n\nmesheryctl system config eks [flags]\n\n\n\n\nExamples\n\nConfigure Meshery to connect to EKS cluster using auth token\n\n\nmesheryctl system config eks --token auth.json\n\n\n\n\nConfigure Meshery to connect to EKS cluster (if session is logged in using login subcommand)\n\n\nmesheryctl system config eks\n\n\n\n\nOptions\n\n\n\n  -h, --help           help for eks\n  -t, --token string   Path to token for authenticating to Meshery API\n\n\n\n\nOptions inherited from parent commands\n\n\n\n      --config string    path to config file (default \"/home/runner/.meshery/config.yaml\")\n  -c, --context string   (optional) temporarily change the current context.\n  -v, --verbose          verbose output\n  -y, --yes              (optional) assume yes for user interactive prompts.\n\n\n\n\nSee Also\n\nGo back to command reference index"
					}




					,

					"reference-mesheryctl-system-config-gke": {
						"id": "reference-mesheryctl-system-config-gke",
						"title": "mesheryctl-system-config-gke",
						"categories": "",
						"url": " /reference/mesheryctl/system/config/gke",
						"content": "mesheryctl system config gke\n\nConfigure Meshery to use GKE cluster\n\nSynopsis\n\nConfigure Meshery to connect to GKE cluster\n\n\n\nmesheryctl system config gke [flags]\n\n\n\n\nExamples\n\nConfigure Meshery to connect to GKE cluster using auth token\n\n\nmesheryctl system config gke --token auth.json\n\n\n\n\nConfigure Meshery to connect to GKE cluster (if session is logged in using login subcommand)\n\n\nmesheryctl system config gke\n\n\n\n\nOptions\n\n\n\n  -h, --help           help for gke\n  -t, --token string   Path to token for authenticating to Meshery API\n\n\n\n\nOptions inherited from parent commands\n\n\n\n      --config string    path to config file (default \"/home/runner/.meshery/config.yaml\")\n  -c, --context string   (optional) temporarily change the current context.\n  -v, --verbose          verbose output\n  -y, --yes              (optional) assume yes for user interactive prompts.\n\n\n\n\nSee Also\n\nGo back to command reference index"
					}




					,

					"reference-mesheryctl-system-config-minikube": {
						"id": "reference-mesheryctl-system-config-minikube",
						"title": "mesheryctl-system-config-minikube",
						"categories": "",
						"url": " /reference/mesheryctl/system/config/minikube",
						"content": "mesheryctl system config minikube\n\nConfigure Meshery to use minikube cluster\n\nSynopsis\n\nConfigure Meshery to connect to minikube cluster\n\n\n\nmesheryctl system config minikube [flags]\n\n\n\n\nExamples\n\nConfigure Meshery to connect to minikube cluster using auth token\n\n\nmesheryctl system config minikube --token auth.json\n\n\n\n\nConfigure Meshery to connect to minikube cluster (if session is logged in using login subcommand)\n\n\nmesheryctl system config minikube\n\n\n\n\nOptions\n\n\n\n  -h, --help           help for minikube\n  -t, --token string   Path to token for authenticating to Meshery API\n\n\n\n\nOptions inherited from parent commands\n\n\n\n      --config string    path to config file (default \"/home/runner/.meshery/config.yaml\")\n  -c, --context string   (optional) temporarily change the current context.\n  -v, --verbose          verbose output\n  -y, --yes              (optional) assume yes for user interactive prompts.\n\n\n\n\nSee Also\n\nGo back to command reference index"
					}




					,

					"reference-mesheryctl-system-config": {
						"id": "reference-mesheryctl-system-config",
						"title": "mesheryctl-system-config",
						"categories": "",
						"url": " /reference/mesheryctl/system/config",
						"content": "mesheryctl system config\n\nConfigure Meshery\n\nSynopsis\n\nConfigure the Kubernetes cluster used by Meshery.\n\n\n\nmesheryctl system config [flags]\n\n\n\n\nExamples\n\nSet configuration according to k8s cluster\n\n\nmesheryctl system config [aks|eks|gke|minikube]\n\n\n\n\nPath to token for authenticating to Meshery API (optional, can be done alternatively using “login”)\n\n\nmesheryctl system config --token \"~/Downloads/auth.json\"\n\n\n\n\nOptions\n\n\n\n  -h, --help   help for config\n\n\n\n\nOptions inherited from parent commands\n\n\n\n      --config string    path to config file (default \"/home/runner/.meshery/config.yaml\")\n  -c, --context string   (optional) temporarily change the current context.\n  -v, --verbose          verbose output\n  -y, --yes              (optional) assume yes for user interactive prompts.\n\n\n\n\nSee Also\n\nGo back to command reference index"
					}




					,

					"reference-mesheryctl-system-context-create": {
						"id": "reference-mesheryctl-system-context-create",
						"title": "mesheryctl-system-context-create",
						"categories": "",
						"url": " /reference/mesheryctl/system/context/create",
						"content": "mesheryctl system context create\n\nCreate a new context (a named Meshery deployment)\n\nSynopsis\n\nAdd a new context to Meshery config.yaml file\n\n\n\nmesheryctl system context create context-name [flags]\n\n\n\n\nExamples\n\nCreate new context\n\n\nmesheryctl system context create [context-name]\n\n\n\n\nCreate new context and provide list of components, platform &amp; URL\n\n\nmesheryctl system context create context-name --components meshery-osm --platform docker --url http://localhost:9081 --set --yes\n\n\n\n\nOptions\n\n\n\n  -a, --components stringArray   List of components\n  -h, --help                     help for create\n  -p, --platform string          Platform to deploy Meshery\n  -s, --set                      Set as current context\n  -u, --url string               Meshery Server URL with Port\n\n\n\n\nOptions inherited from parent commands\n\n\n\n      --config string    path to config file (default \"/home/runner/.meshery/config.yaml\")\n  -c, --context string   (optional) temporarily change the current context.\n  -v, --verbose          verbose output\n  -y, --yes              (optional) assume yes for user interactive prompts.\n\n\n\n\nScreenshots\n\nUsage of mesheryctl context create\n\n\nSee Also\n\nGo back to command reference index"
					}




					,

					"reference-mesheryctl-system-context-delete": {
						"id": "reference-mesheryctl-system-context-delete",
						"title": "mesheryctl-system-context-delete",
						"categories": "",
						"url": " /reference/mesheryctl/system/context/delete",
						"content": "mesheryctl system context delete\n\ndelete context\n\nSynopsis\n\nDelete an existing context (a named Meshery deployment) from Meshery config file\n\n\n\nmesheryctl system context delete context-name [flags]\n\n\n\n\nExamples\n\nDelete context\n\n\nmesheryctl system context delete [context name]\n\n\n\n\nOptions\n\n\n\n  -h, --help         help for delete\n  -s, --set string   New context to deploy Meshery\n\n\n\n\nOptions inherited from parent commands\n\n\n\n      --config string    path to config file (default \"/home/runner/.meshery/config.yaml\")\n  -c, --context string   (optional) temporarily change the current context.\n  -v, --verbose          verbose output\n  -y, --yes              (optional) assume yes for user interactive prompts.\n\n\n\n\nSee Also\n\nGo back to command reference index"
					}




					,

					"reference-mesheryctl-system-context-list": {
						"id": "reference-mesheryctl-system-context-list",
						"title": "mesheryctl-system-context-list",
						"categories": "",
						"url": " /reference/mesheryctl/system/context/list",
						"content": "mesheryctl system context list\n\nlist contexts\n\nSynopsis\n\nList current context and available contexts\n\n\n\nmesheryctl system context list [flags]\n\n\n\n\nExamples\n\nList all contexts present\n\n\nmesheryctl system context list\n\n\n\n\nOptions\n\n\n\n  -h, --help   help for list\n\n\n\n\nOptions inherited from parent commands\n\n\n\n      --config string    path to config file (default \"/home/runner/.meshery/config.yaml\")\n  -c, --context string   (optional) temporarily change the current context.\n  -v, --verbose          verbose output\n  -y, --yes              (optional) assume yes for user interactive prompts.\n\n\n\n\nSee Also\n\nGo back to command reference index"
					}




					,

					"reference-mesheryctl-system-context-switch": {
						"id": "reference-mesheryctl-system-context-switch",
						"title": "mesheryctl-system-context-switch",
						"categories": "",
						"url": " /reference/mesheryctl/system/context/switch",
						"content": "mesheryctl system context switch\n\nswitch context\n\nSynopsis\n\nConfigure mesheryctl to actively use one one context vs. another context\n\n\n\nmesheryctl system context switch context-name [flags]\n\n\n\n\nExamples\n\nSwitch to context named “sample”\n\n\nmesheryctl system context switch sample\n\n\n\n\nOptions\n\n\n\n  -h, --help   help for switch\n\n\n\n\nOptions inherited from parent commands\n\n\n\n      --config string    path to config file (default \"/home/runner/.meshery/config.yaml\")\n  -c, --context string   (optional) temporarily change the current context.\n  -v, --verbose          verbose output\n  -y, --yes              (optional) assume yes for user interactive prompts.\n\n\n\n\nScreenshots\n\nUsage of mesheryctl context switch\n\n\nSee Also\n\nGo back to command reference index"
					}




					,

					"reference-mesheryctl-system-context-view": {
						"id": "reference-mesheryctl-system-context-view",
						"title": "mesheryctl-system-context-view",
						"categories": "",
						"url": " /reference/mesheryctl/system/context/view",
						"content": "mesheryctl system context view\n\nview current context\n\nSynopsis\n\nDisplay active Meshery context\n\n\n\nmesheryctl system context view [context-name | --context context-name| --all] --flags [flags]\n\n\n\n\nExamples\n\nView default context\n\n\nmesheryctl system context view\n\n\n\n\nView specified context\n\n\nmesheryctl system context view context-name\n\n\n\n\nView specified context with context flag\n\n\nmesheryctl system context view --context context-name\n\n\n\n\nView config of all contexts\n\n\nmesheryctl system context view --all\n\n\n\n\nOptions\n\n\n\n      --all    Show configs for all of the context\n  -h, --help   help for view\n\n\n\n\nOptions inherited from parent commands\n\n\n\n      --config string    path to config file (default \"/home/runner/.meshery/config.yaml\")\n  -c, --context string   (optional) temporarily change the current context.\n  -v, --verbose          verbose output\n  -y, --yes              (optional) assume yes for user interactive prompts.\n\n\n\n\nScreenshots\n\nUsage of mesheryctl context view\n\n\nSee Also\n\nGo back to command reference index"
					}




					,

					"reference-mesheryctl-system-context": {
						"id": "reference-mesheryctl-system-context",
						"title": "mesheryctl-system-context",
						"categories": "",
						"url": " /reference/mesheryctl/system/context",
						"content": "mesheryctl system context\n\nConfigure your Meshery deployment(s)\n\nSynopsis\n\nConfigure and switch between different named Meshery server and component versions and deployments.\n\n\n\nmesheryctl system context [command] [flags]\n\n\n\n\nExamples\n\nBase command\n\n\nmesheryctl system context\n\n\n\n\nOptions\n\n\n\n  -h, --help   help for context\n\n\n\n\nOptions inherited from parent commands\n\n\n\n      --config string    path to config file (default \"/home/runner/.meshery/config.yaml\")\n  -c, --context string   (optional) temporarily change the current context.\n  -v, --verbose          verbose output\n  -y, --yes              (optional) assume yes for user interactive prompts.\n\n\n\n\nSee Also\n\nGo back to command reference index"
					}




					,

					"reference-mesheryctl-system-dashboard": {
						"id": "reference-mesheryctl-system-dashboard",
						"title": "mesheryctl-system-dashboard",
						"categories": "",
						"url": " /reference/mesheryctl/system/dashboard",
						"content": "mesheryctl system dashboard\n\nOpen Meshery UI in browser.\n\n\n\nmesheryctl system dashboard [flags]\n\n\n\n\nExamples\n\nOpen Meshery UI in browser\n\n\nmesheryctl system dashboard\n\n\n\n\nOpen Meshery UI in browser and use port-forwarding (if default port is taken already)\n\n\nmesheryctl system dashboard --port-forward\n\n\n\n\nOptions\n\n\n\n  -h, --help           help for dashboard\n      --port-forward   (optional) Use port forwarding to access Meshery UI\n      --skip-browser   (optional) skip opening of MesheryUI in browser.\n\n\n\n\nOptions inherited from parent commands\n\n\n\n      --config string    path to config file (default \"/home/runner/.meshery/config.yaml\")\n  -c, --context string   (optional) temporarily change the current context.\n  -v, --verbose          verbose output\n  -y, --yes              (optional) assume yes for user interactive prompts.\n\n\n\n\nSee Also\n\nGo back to command reference index"
					}




					,

					"reference-mesheryctl-system-login": {
						"id": "reference-mesheryctl-system-login",
						"title": "mesheryctl-system-login",
						"categories": "",
						"url": " /reference/mesheryctl/system/login",
						"content": "mesheryctl system login\n\nAuthenticate to a Meshery Server\n\nSynopsis\n\nAuthenticate to the Local or a Remote Provider of a Meshery Server\n\nThe authentication mode is web-based browser flow\n\n\n\nmesheryctl system login [flags]\n\n\n\n\nExamples\n\nLogin with the Meshery Provider of your choice: the Local Provider or a Remote Provider.\n\n\nmesheryctl system login \n\n\n\n\nOptions\n\n\n\n  -h, --help              help for login\n  -p, --provider string   login Meshery with specified provider\n\n\n\n\nOptions inherited from parent commands\n\n\n\n      --config string    path to config file (default \"/home/runner/.meshery/config.yaml\")\n  -c, --context string   (optional) temporarily change the current context.\n  -v, --verbose          verbose output\n  -y, --yes              (optional) assume yes for user interactive prompts.\n\n\n\n\nSee Also\n\nGo back to command reference index"
					}




					,

					"reference-mesheryctl-system-logout": {
						"id": "reference-mesheryctl-system-logout",
						"title": "mesheryctl-system-logout",
						"categories": "",
						"url": " /reference/mesheryctl/system/logout",
						"content": "mesheryctl system logout\n\nRemove authentication for Meshery Server\n\nSynopsis\n\nRemove authentication for Meshery Server\n\nThis command removes the authentication token from the user’s filesystem\n\n\n\nmesheryctl system logout [flags]\n\n\n\n\nExamples\n\nLogout current session with your Meshery Provider.\n\n\nmesheryctl system logout\n\n\n\n\nOptions\n\n\n\n  -h, --help   help for logout\n\n\n\n\nOptions inherited from parent commands\n\n\n\n      --config string    path to config file (default \"/home/runner/.meshery/config.yaml\")\n  -c, --context string   (optional) temporarily change the current context.\n  -v, --verbose          verbose output\n  -y, --yes              (optional) assume yes for user interactive prompts.\n\n\n\n\nSee Also\n\nGo back to command reference index"
					}




					,

					"reference-mesheryctl-system-logs": {
						"id": "reference-mesheryctl-system-logs",
						"title": "mesheryctl-system-logs",
						"categories": "",
						"url": " /reference/mesheryctl/system/logs",
						"content": "mesheryctl system logs\n\nPrint logs\n\nSynopsis\n\nPrint history of Meshery’s logs and begin tailing them.\n\nIt also shows the logs of a specific component.\n\n\n\nmesheryctl system logs [flags]\n\n\n\n\nExamples\n\nStarts tailing Meshery server debug logs (works with components also)\n\n\nmesheryctl system logs --verbose\n\n\n\n\n\n\nmesheryctl system logs meshery-istio\n\n\n\n\nOptions\n\n\n\n  -h, --help   help for logs\n\n\n\n\nOptions inherited from parent commands\n\n\n\n      --config string    path to config file (default \"/home/runner/.meshery/config.yaml\")\n  -c, --context string   (optional) temporarily change the current context.\n  -v, --verbose          verbose output\n  -y, --yes              (optional) assume yes for user interactive prompts.\n\n\n\n\nSee Also\n\nGo back to command reference index"
					}




					,

					"reference-mesheryctl-system-reset": {
						"id": "reference-mesheryctl-system-reset",
						"title": "mesheryctl-system-reset",
						"categories": "",
						"url": " /reference/mesheryctl/system/reset",
						"content": "mesheryctl system reset\n\nReset Meshery’s configuration\n\nSynopsis\n\nReset Meshery to it’s default configuration.\n\n\n\nmesheryctl system reset [flags]\n\n\n\n\nExamples\n\nResets meshery.yaml file with a copy from Meshery repo\n\n\nmesheryctl system reset\n\n\n\n\nOptions\n\n\n\n  -h, --help   help for reset\n\n\n\n\nOptions inherited from parent commands\n\n\n\n      --config string    path to config file (default \"/home/runner/.meshery/config.yaml\")\n  -c, --context string   (optional) temporarily change the current context.\n  -v, --verbose          verbose output\n  -y, --yes              (optional) assume yes for user interactive prompts.\n\n\n\n\nScreenshots\n\nUsage of mesheryctl system reset\n\n\nSee Also\n\nGo back to command reference index"
					}




					,

					"reference-mesheryctl-system-restart": {
						"id": "reference-mesheryctl-system-restart",
						"title": "mesheryctl-system-restart",
						"categories": "",
						"url": " /reference/mesheryctl/system/restart",
						"content": "mesheryctl system restart\n\nStop, then start Meshery\n\nSynopsis\n\nRestart all Meshery containers / pods.\n\n\n\nmesheryctl system restart [flags]\n\n\n\n\nExamples\n\nRestart all Meshery containers, their instances and their connected volumes\n\n\nmesheryctl system restart\n\n\n\n\n(optional) skip checking for new updates available in Meshery.\n\n\nmesheryctl system restart --skip-update\n\n\n\n\nOptions\n\n\n\n  -h, --help          help for restart\n      --skip-update   (optional) skip checking for new Meshery's container images.\n\n\n\n\nOptions inherited from parent commands\n\n\n\n      --config string    path to config file (default \"/home/runner/.meshery/config.yaml\")\n  -c, --context string   (optional) temporarily change the current context.\n  -v, --verbose          verbose output\n  -y, --yes              (optional) assume yes for user interactive prompts.\n\n\n\n\nSee Also\n\nGo back to command reference index"
					}




					,

					"reference-mesheryctl-system-start": {
						"id": "reference-mesheryctl-system-start",
						"title": "mesheryctl-system-start",
						"categories": "",
						"url": " /reference/mesheryctl/system/start",
						"content": "mesheryctl system start\n\nStart Meshery\n\nSynopsis\n\nStart Meshery and each of its service mesh components.\n\n\n\nmesheryctl system start [flags]\n\n\n\n\nExamples\n\nStart meshery\n\n\nmesheryctl system start\n\n\n\n\nTo create a new context for in-cluster Kubernetes deployments and set the new context as your current-context\n\n\nmesheryctl system context create k8s -p kubernetes -s\n\n\n\n\n(optional) skip checking for new updates available in Meshery.\n\n\nmesheryctl system start --skip-update\n\n\n\n\nReset Meshery’s configuration file to default settings.\n\n\nmesheryctl system start --reset\n\n\n\n\nSilently create Meshery’s configuration file with default settings\n\n\nmesheryctl system start --yes\n\n\n\n\nOptions\n\n\n\n  -h, --help              help for start\n  -p, --platform string   platform to deploy Meshery to.\n      --reset             (optional) reset Meshery's configuration file to default settings.\n      --skip-browser      (optional) skip opening of MesheryUI in browser.\n      --skip-update       (optional) skip checking for new Meshery's container images.\n\n\n\n\nOptions inherited from parent commands\n\n\n\n      --config string    path to config file (default \"/home/runner/.meshery/config.yaml\")\n  -c, --context string   (optional) temporarily change the current context.\n  -v, --verbose          verbose output\n  -y, --yes              (optional) assume yes for user interactive prompts.\n\n\n\n\nSee Also\n\nGo back to command reference index"
					}




					,

					"reference-mesheryctl-system-status": {
						"id": "reference-mesheryctl-system-status",
						"title": "mesheryctl-system-status",
						"categories": "",
						"url": " /reference/mesheryctl/system/status",
						"content": "mesheryctl system status\n\nCheck Meshery status\n\nSynopsis\n\nCheck status of Meshery and Meshery components.\n\n\n\nmesheryctl system status [flags]\n\n\n\n\nExamples\n\nCheck status of Meshery, Meshery adapters, Meshery Operator and its controllers.\n\n\nmesheryctl system status \n\n\n\n\nOptions\n\n\n\n  -h, --help   help for status\n\n\n\n\nOptions inherited from parent commands\n\n\n\n      --config string    path to config file (default \"/home/runner/.meshery/config.yaml\")\n  -c, --context string   (optional) temporarily change the current context.\n  -v, --verbose          verbose output\n  -y, --yes              (optional) assume yes for user interactive prompts.\n\n\n\n\nScreenshots\n\nUsage of mesheryctl system status\n\n\nSee Also\n\nGo back to command reference index"
					}




					,

					"reference-mesheryctl-system-stop": {
						"id": "reference-mesheryctl-system-stop",
						"title": "mesheryctl-system-stop",
						"categories": "",
						"url": " /reference/mesheryctl/system/stop",
						"content": "mesheryctl system stop\n\nStop Meshery\n\nSynopsis\n\nStop all Meshery containers / remove all Meshery resources.\n\n\n\nmesheryctl system stop [flags]\n\n\n\n\nExamples\n\nStop Meshery\n\n\nmesheryctl system stop\n\n\n\n\nReset Meshery’s configuration file to default settings.\n\n\nmesheryctl system stop --reset\n\n\n\n\nStop Meshery forcefully (use it when system stop doesn’t work)\n\n\nmesheryctl system stop --force\n\n\n\n\nOptions\n\n\n\n      --force            (optional) uninstall Meshery resources forcefully\n  -h, --help             help for stop\n      --keep-namespace   (optional) keep the Meshery namespace during uninstallation\n      --reset            (optional) reset Meshery's configuration file to default settings.\n\n\n\n\nOptions inherited from parent commands\n\n\n\n      --config string    path to config file (default \"/home/runner/.meshery/config.yaml\")\n  -c, --context string   (optional) temporarily change the current context.\n  -v, --verbose          verbose output\n  -y, --yes              (optional) assume yes for user interactive prompts.\n\n\n\n\nSee Also\n\nGo back to command reference index"
					}




					,

					"reference-mesheryctl-system-token-create": {
						"id": "reference-mesheryctl-system-token-create",
						"title": "mesheryctl-system-token-create",
						"categories": "",
						"url": " /reference/mesheryctl/system/token/create",
						"content": "mesheryctl system token create\n\nCreate a token in your meshconfig\n\nSynopsis\n\nCreate the token with provided token name (optionally token path) to your meshconfig tokens.\n\n\n\nmesheryctl system token create [flags]\n\n\n\n\nExamples\n\n\n\nmesheryctl system token create [token-name] -f [token-path]\n\n\n\n\n\n\nmesheryctl system token create [token-name] (default path is auth.json)\n\n\n\n\n\n\nmesheryctl system token create [token-name] -f [token-path] --set\n\n\n\n\nOptions\n\n\n\n  -f, --filepath string   Add the token location\n  -h, --help              help for create\n  -s, --set               Set as current token\n\n\n\n\nOptions inherited from parent commands\n\n\n\n      --config string    path to config file (default \"/home/runner/.meshery/config.yaml\")\n  -c, --context string   (optional) temporarily change the current context.\n  -v, --verbose          verbose output\n  -y, --yes              (optional) assume yes for user interactive prompts.\n\n\n\n\nSee Also\n\nGo back to command reference index"
					}




					,

					"reference-mesheryctl-system-token-delete": {
						"id": "reference-mesheryctl-system-token-delete",
						"title": "mesheryctl-system-token-delete",
						"categories": "",
						"url": " /reference/mesheryctl/system/token/delete",
						"content": "mesheryctl system token delete\n\nDelete a token from your meshconfig\n\nSynopsis\n\nDelete the token with provided token name from your meshconfig tokens.\n\n\n\nmesheryctl system token delete [flags]\n\n\n\n\nExamples\n\n\n\nmesheryctl system token delete [token-name]\n\n\n\n\nOptions\n\n\n\n  -h, --help   help for delete\n\n\n\n\nOptions inherited from parent commands\n\n\n\n      --config string    path to config file (default \"/home/runner/.meshery/config.yaml\")\n  -c, --context string   (optional) temporarily change the current context.\n  -v, --verbose          verbose output\n  -y, --yes              (optional) assume yes for user interactive prompts.\n\n\n\n\nSee Also\n\nGo back to command reference index"
					}




					,

					"reference-mesheryctl-system-token-list": {
						"id": "reference-mesheryctl-system-token-list",
						"title": "mesheryctl-system-token-list",
						"categories": "",
						"url": " /reference/mesheryctl/system/token/list",
						"content": "mesheryctl system token list\n\nList tokens\n\nSynopsis\n\nList all the tokens in your meshconfig\n\n\n\nmesheryctl system token list [flags]\n\n\n\n\nExamples\n\n\n\nmesheryctl system token list\n\n\n\n\nOptions\n\n\n\n  -h, --help   help for list\n\n\n\n\nOptions inherited from parent commands\n\n\n\n      --config string    path to config file (default \"/home/runner/.meshery/config.yaml\")\n  -c, --context string   (optional) temporarily change the current context.\n  -v, --verbose          verbose output\n  -y, --yes              (optional) assume yes for user interactive prompts.\n\n\n\n\nSee Also\n\nGo back to command reference index"
					}




					,

					"reference-mesheryctl-system-token-set": {
						"id": "reference-mesheryctl-system-token-set",
						"title": "mesheryctl-system-token-set",
						"categories": "",
						"url": " /reference/mesheryctl/system/token/set",
						"content": "mesheryctl system token set\n\nSet token for context\n\nSynopsis\n\nSet token for current context or context specified with –context flag.\n\n\n\nmesheryctl system token set [flags]\n\n\n\n\nExamples\n\n\n\nmesheryctl system token set [token-name] \n\n\n\n\nOptions\n\n\n\n  -h, --help   help for set\n\n\n\n\nOptions inherited from parent commands\n\n\n\n      --config string    path to config file (default \"/home/runner/.meshery/config.yaml\")\n  -c, --context string   (optional) temporarily change the current context.\n  -v, --verbose          verbose output\n  -y, --yes              (optional) assume yes for user interactive prompts.\n\n\n\n\nSee Also\n\nGo back to command reference index"
					}




					,

					"reference-mesheryctl-system-token-view": {
						"id": "reference-mesheryctl-system-token-view",
						"title": "mesheryctl-system-token-view",
						"categories": "",
						"url": " /reference/mesheryctl/system/token/view",
						"content": "mesheryctl system token view\n\nView token\n\nSynopsis\n\nView a specific token in meshery config\n\n\n\nmesheryctl system token view [flags]\n\n\n\n\nExamples\n\n\n\nmesheryctl system token view [token-name]\n\n\n\n\n\n\nmesheryctl system token view (show token of current context)\n\n\n\n\nOptions\n\n\n\n      --all    set the flag to view all the tokens.\n  -h, --help   help for view\n\n\n\n\nOptions inherited from parent commands\n\n\n\n      --config string    path to config file (default \"/home/runner/.meshery/config.yaml\")\n  -c, --context string   (optional) temporarily change the current context.\n  -v, --verbose          verbose output\n  -y, --yes              (optional) assume yes for user interactive prompts.\n\n\n\n\nSee Also\n\nGo back to command reference index"
					}




					,

					"reference-mesheryctl-system-token": {
						"id": "reference-mesheryctl-system-token",
						"title": "mesheryctl-system-token",
						"categories": "",
						"url": " /reference/mesheryctl/system/token",
						"content": "mesheryctl system token\n\nManage Meshery user tokens\n\nSynopsis\n\nManipulate user tokens and their context assignments in your meshconfig\n\n\n\n\nmesheryctl system token [flags]\n\n\n\n\nOptions\n\n\n\n  -h, --help   help for token\n\n\n\n\nOptions inherited from parent commands\n\n\n\n      --config string    path to config file (default \"/home/runner/.meshery/config.yaml\")\n  -c, --context string   (optional) temporarily change the current context.\n  -v, --verbose          verbose output\n  -y, --yes              (optional) assume yes for user interactive prompts.\n\n\n\n\nSee Also\n\nGo back to command reference index"
					}




					,

					"reference-mesheryctl-system-update": {
						"id": "reference-mesheryctl-system-update",
						"title": "mesheryctl-system-update",
						"categories": "",
						"url": " /reference/mesheryctl/system/update",
						"content": "mesheryctl system update\n\nPull new Meshery images/manifest files.\n\nSynopsis\n\nPull new Meshery container images and manifests from artifact repository.\n\n\n\nmesheryctl system update [flags]\n\n\n\n\nExamples\n\nPull new Meshery images from Docker Hub. This does not update mesheryctl. This command may be executed while Meshery is running.\n\n\nmesheryctl system update\n\n\n\n\nPull the latest manifest files alone\n\n\nmesheryctl system update --skip-reset\n\n\n\n\nOptions\n\n\n\n  -h, --help         help for update\n      --skip-reset   (optional) skip checking for new Meshery manifest files.\n\n\n\n\nOptions inherited from parent commands\n\n\n\n      --config string    path to config file (default \"/home/runner/.meshery/config.yaml\")\n  -c, --context string   (optional) temporarily change the current context.\n  -v, --verbose          verbose output\n  -y, --yes              (optional) assume yes for user interactive prompts.\n\n\n\n\nScreenshots\n\nUsage of mesheryctl system update\n\n\nSee Also\n\nGo back to command reference index"
					}




					,

					"reference-mesheryctl-system": {
						"id": "reference-mesheryctl-system",
						"title": "mesheryctl-system",
						"categories": "",
						"url": " /reference/mesheryctl/system",
						"content": "mesheryctl system\n\nMeshery Lifecycle Management\n\nSynopsis\n\nManage the state and configuration of Meshery server, components, and client.\n\n\n\nmesheryctl system [flags]\n\n\n\n\nOptions\n\n\n\n  -c, --context string   (optional) temporarily change the current context.\n  -h, --help             help for system\n  -y, --yes              (optional) assume yes for user interactive prompts.\n\n\n\n\nOptions inherited from parent commands\n\n\n\n      --config string   path to config file (default \"/home/runner/.meshery/config.yaml\")\n  -v, --verbose         verbose output\n\n\n\n\nSee Also\n\nGo back to command reference index"
					}




					,

					"reference-mesheryctl-version": {
						"id": "reference-mesheryctl-version",
						"title": "mesheryctl-version",
						"categories": "",
						"url": " /reference/mesheryctl/version",
						"content": "mesheryctl version\n\nVersion of mesheryctl\n\nSynopsis\n\nVersion of Meshery command line client - mesheryctl.\n\n\n\nmesheryctl version [flags]\n\n\n\n\nExamples\n\nTo view the current version and SHA of release binary of mesheryctl client\n\n\nmesheryctl version\n\n\n\n\nOptions\n\n\n\n  -h, --help   help for version\n\n\n\n\nOptions inherited from parent commands\n\n\n\n      --config string   path to config file (default \"/home/runner/.meshery/config.yaml\")\n  -v, --verbose         verbose output\n\n\n\n\nScreenshots\n\nUsage of mesheryctl version\n\n\nSee Also\n\nGo back to command reference index"
					}




					,

					"reference-mesheryctl-main": {
						"id": "reference-mesheryctl-main",
						"title": "mesheryctl",
						"categories": "",
						"url": " /reference/mesheryctl/main",
						"content": "mesheryctl\n\nMeshery Command Line tool\n\nSynopsis\n\nMeshery is the service mesh management plane, providing lifecycle, performance, and configuration management of service meshes and their workloads.\n\nExamples\n\nBase command\n\n\nmesheryctl\n\n\n\n\nDisplay help about command/subcommand\n\n\nmesheryctl --help\n\n\n\n\n\n\nmesheryctl system start --help\n\n\n\n\nFor viewing verbose output\n\n\nmesheryctl -v [or] --verbose\n\n\n\n\nOptions\n\n\n\n      --config string   path to config file (default \"/home/runner/.meshery/config.yaml\")\n  -h, --help            help for mesheryctl\n  -v, --verbose         verbose output\n\n\n\n\nSee Also\n\nGo back to command reference index"
					}




					,

					"installation-mesheryctl": {
						"id": "installation-mesheryctl",
						"title": "Install mesheryctl",
						"categories": "",
						"url": " /installation/mesheryctl",
						"content": "Meshery’s command line client is mesheryctl. To install mesheryctl on your system, you may choose from any of the following supported methods.\n\nBash\n\nInstall and Upgrade\n\nInstall mesheryctl command\n\n\n \n \n  $ curl -L https://meshery.io/install | DEPLOY_MESHERY=false bash -\n \n \n\nInstall mesheryctl command and deploy Meshery on Docker\n\n\n \n \n  $ curl -L https://meshery.io/install | PLATFORM=docker bash -\n \n \n\nInstall mesheryctl command and deploy Meshery on Kubernetes\n\n\n \n \n  $ curl -L https://meshery.io/install | PLATFORM=kubernetes bash -\n \n \n\nInstall mesheryctl command and choose an adapter to be loaded.\n\n\n \n \n  $ curl -L https://meshery.io/install | ADAPTERS=consul PLATFORM=kubernetes bash -\n \n \n\nHomebrew\n\nInstall\n\nTo install mesheryctl using homebrew, execute the following commands.\n\n\n \n $ brew install mesheryctl\n \n\n\nYou need to have brew installed on your Mac or Linux system to perform these actions.\n\nYou’re ready to run Meshery. To do so, execute the following command.\n\n\n\n $ mesheryctl system start\n\n\n\n\nMeshery server supports customizing authentication flow callback URL, which can be configured in the following way\n\n\n\n $ MESHERY_SERVER_CALLBACK_URL=https://custom-host mesheryctl system start\n\n\n\n\nmesheryctl uses your current Kubernetes context, your KUBECONFIG environment variable (~/.kube/config by default). Confirm if this Kubernetes cluster you want Meshery to interact with by running the following command: kubectl config get-contexts.\n\nIf there are multiple contexts in your kubeconfig file, specify the one you want to use with the use-context subcommand: kubectl config use-context &lt;context-to-use&gt;.\n\nUpgrade\n\nTo upgrade mesheryctl, execute the following command.\n\n\n \n $ brew upgrade mesheryctl\n \n \n\nExample output of a successful upgrade:\n\n➜  ~ brew upgrade mesheryctl\n==&gt; Upgrading 1 outdated package:\nmeshery/tap/mesheryctl 0.3.2 -&gt; 0.3.4\n==&gt; Upgrading meshery/tap/mesheryctl\n==&gt; Downloading https://github.com/layer5io/meshery/releases/download/v0.3.4/mesheryctl_0.3.4_Darwin_x86_64.zip\n==&gt; Downloading from https://github-production-release-asset-2e65be.s3.amazonaws.com/157554479/17522b00-2af0-11ea-8aef-cbfe8\n######################################################################## 100.0%\n🍺  /usr/local/Cellar/mesheryctl/0.3.4: 5 files, 10.2MB, built in 4 seconds\nRemoving: /usr/local/Cellar/mesheryctl/0.3.2... (5 files, 10.2MB)\nRemoving: /Users/lee/Library/Caches/Homebrew/mesheryctl--0.3.2.zip... (3.9MB)\n==&gt; Checking for dependents of upgraded formulae...\n==&gt; No dependents found!\n\n\nKubernetes\n\nInstall\n\nUsing mesheryctl\n\n\n\n \n $ mesheryctl system context create k8s -p kubernetes -s\n $ mesheryctl system start\n \n\n\nDon’t have mesheryctl? Install with Bash, Brew, or Scoop.\n\nUsing Helm\n\n\n\n \n $ kubectl create ns meshery\n $ helm repo add meshery https://meshery.io/charts/\n $ helm install meshery meshery/meshery -n meshery\n \n\n\nNot a Helm user? Use the Meshery manifests directly.\n\nUsing Manifests\n\n\n\n \n $ git clone https://github.com/layer5io/meshery.git; cd meshery\n $ kubectl create ns meshery\n $ kubectl -n meshery apply -f install/deployment_yamls/k8s\n \n\n\nScoop\n\nmesheryctl can be installed via Scoop (a package manager for Windows, just like apt for Ubuntu). To install mesheryctl using Scoop, execute the following commands.\n\nInstall\n\n\n\n $ scoop bucket add mesheryctl https://github.com/layer5io/scoop-bucket.git\n $ scoop install mesheryctl\n\n\n\n\nYou need to have scoop installed on your Windows system to perform these actions.\n\nYou’re ready to run Meshery. To do so, execute the following command.\n\n\n\n $ mesheryctl system start\n\n\n\n\nmesheryctl uses your current Kubernetes context, your KUBECONFIG environment variable (~/.kube/config by default). Confirm if this Kubernetes cluster you want Meshery to interact with by running the following command: kubectl config get-contexts.\n\nIf there are multiple contexts in your kubeconfig file, specify the one you want to use with the use-context subcommand: kubectl config use-context &lt;context-to-use&gt;.\n\nUpgrade\n\nTo upgrade mesheryctl, just execute the following command.\n\n\n\n $ scoop update mesheryctl\n\n\n\n\nContinue deploying Meshery onto one of the Supported Platforms."
					}




					,

					"es-concepts-architecture-meshsync": {
						"id": "es-concepts-architecture-meshsync",
						"title": "MeshSync",
						"categories": "",
						"url": " /es/concepts/architecture/meshsync",
						"content": "MeshSync es un controlador de Kubernetes personalizado que provee descubrimiento escalonado y sincronización continua con Meshery Server en cuanto al estado del clúster de Kubernetes, service meshes y sus cargas de trabajo.\n\n\n\nLa instantánea de trabajo de MeshSync del estado de cada clúster y service mesh bajo administración se almacena en la memoria y se actualiza continuamente.\n\nMeshSync es administrado por el Meshery Operator.\n\n¿Cuáles son las responsabilidades principales de MeshSync?\n\nDescubrir los recursos existentes dentro del clúster de Kubernetes\n\nLos recursos que están presentes dentro del clúster se descubren eficientemente con la ayuda de pipelines. Los datos se contruyen en un formato particular específico para Meshery y se publican a través de diferentes partes de la arquitectura.\n\nEscuchar los eventos/cambios en cada componente\n\nMeshSync implementa varios informadores/oyentes en cada recurso para escuchar cambios que ocurren en ellos. Estos se reflejan en tiempo real y se actualizan en sus respectivas áreas.\n\nPreguntas más Frecuentes de MeshSync"
					}




					,

					"concepts-architecture-meshsync": {
						"id": "concepts-architecture-meshsync",
						"title": "MeshSync",
						"categories": "",
						"url": " /concepts/architecture/meshsync",
						"content": "MeshSync is a custom Kubernetes controller that provides tiered discovery and continual synchronization with Meshery Server as to the state of the Kubernetes cluster, service meshes, and their workloads.\n\n\n\nMeshSync’s working snapshot of the state of each cluster and service mesh under management is stored in-memory and continuously refreshed.\n\nMeshSync is managed by the Meshery Operator.\n\nWhat are MeshSync’s core responsibilities?\n\nDiscover existing resources inside the kubernetes cluster\n\nThe resources that are present inside the cluster are discovered efficiently with the help of pipelines. The data is constructed in a particular format specific to meshery and publish across to different parts of the architecture.\n\nListening to events/changes on every component\n\nMeshSync implements several informers/listeners across each resource to listen to changes that occur to them. These are reflected at real time and are updated in their respective areas.\n\nMeshSync FAQs"
					}




					,

					"es-installation-platforms-minikube": {
						"id": "es-installation-platforms-minikube",
						"title": "Minikube",
						"categories": "",
						"url": " /es/installation/platforms/minikube",
						"content": "Inicio Rápido con Minikube\n\nPara configurar y ejecutar Meshery en Minikube:\n\n\n  Iniciar Minikube\n  Configurar Meshery para usar minkube\n  Ejecutar Meshery\n\n\nCompatibilidad\n\nLas siguientes versiones mínimas de componentes son requieridas:\n\n\n  \n    Nombre\n    Versión \n  \n  \n    Minikube\n    1.0.0 \n  \n  \n    Kubernetes\n    1.14.1\n  \n  \n    kubectl\n    1.14.1\n  \n\n\nPasos\n\nEjecute los siguientes pasos en este orden:\n\n1. iniciar minikube\n\nminikube start --cpus 4 --memory 8192 --kubernetes-version=v1.14.1\n\n\nNota: la memoria mínima requerida es –memory=4096 (para despliegues de Istio solamente)\n\nNote: Si está utilizando manejador docker (docker driver), después de completar los pasos de instalación de Meshery, ejecute el siguiente comando para establecer la conectividad entre Meshery y el servidor Kubernetes.\n\ndocker network connect bridge meshery_meshery_1\n\n\n2. Configurar Meshery para usar minikube\n\n\n  Inicie sesión en Meshery. En el menú de su perfil de usuario, haga clic en Get Token.\n  Use mesheryctl y así configurar Meshery para usar minikube. Ejecute:\n\n\nmesheryctl system config minikube -t ~/Downloads/auth.json\n\n\nTambién puede generar y cargar manualmente el archivo kubeconfig para que Meshery lo use:\n\nEste archivo de configuración será utilizado por Meshery.\n\nkubectl config view --minify --flatten &gt; config_minikube.yaml\n\n\napiVersion: v1\nclusters:\n- cluster:\n    certificate-authority-data: &lt; cert shortcutted &gt;\n    server: https://192.168.99.100:8443\n  name: minikube\ncontexts:\n- context:\n    cluster: minikube\n    user: minikube\n  name: minikube\ncurrent-context: minikube\nkind: Config\npreferences: {}\nusers:\n- name: minikube\n  user:\n    client-certificate-data: &lt;cert shortcutted &gt;\n    client-key-data: &lt; key shortcutted &gt;\n\n\nNota: Asegúrese que current-context (contexto actual) esté establecido a minikube.\n\n3. Configurar Meshery\n\nSiga los pasos de instalación para instalar el CLI (Intérprete de Línea de Comandos) mesheryctl.\n\nMeshery ahora debería estar conectado con su instancia administrada de Kubernetes. Eche un vistazo a guías Meshery para consejos de uso advanzado."
					}




					,

					"installation-platforms-minikube": {
						"id": "installation-platforms-minikube",
						"title": "Minikube",
						"categories": "",
						"url": " /installation/platforms/minikube",
						"content": "Quick Start with Minikube \n\nPrerequisites  \n\n1. Install the Meshery command line client, \n\n    mesheryctl\n.\n\n\nTo Setup and run Meshery on Minikube :\n\n\n  Steps\n    \n      1. Start minikube\n      2. Install Meshery\n      2. Configure Meshery to use minikube\n      Manual Steps\n    \n  \n\n\nCompatibility\n\nThe following minimum component versions are required:\n\n\n  \n    Name\n    Version\n  \n  \n    Minikube\n    1.0.0 \n  \n  \n    Kubernetes\n    1.14.1\n  \n  \n    kubectl\n    1.14.1\n  \n\n\nSteps\n\nPerform the following steps in order:\n\n1. Start minikube\n\n\n \n minikube start --cpus 4 --memory 8192 --kubernetes-version=v1.14.1\n \n \n\nNote: minimum memory required is –memory=4096 (for Istio deployments only)\n\nCheck up on your minikube cluster :\n\n\n \n  minikube status \n \n \n\n2. Install Meshery\n\nFollow the installation steps to setup the mesheryctl CLI and install Meshery.\n\nUsers using docker driver:\nAfter completing the Meshery installation, execute the following commands to establish connectivity between Meshery Server and Kubernetes cluster:\n\n\n \n docker network connect bridge meshery_meshery_1\n \n \n\n\n\n\n \n docker network connect minikube meshery_meshery_1\n \n \n\nTo establish connectivity between a particular Meshery Adapter and Kubernetes server, use “docker ps” to identify the name of the desired container, and execute the following commands:\n\n\n \n docker network connect bridge &#60; container name of the desired adapter &#62;\n \n \n\n\n\n\n \n docker network connect minikube &#60; container name of the desired adapter &#62;\n \n \n\n2. Configure Meshery to use minikube\n\n\n  \n    Login to Meshery. Under your user profile, click Get Token.\n  \n  \n    Use mesheryctl to configure Meshery to use minikube. To allow Meshery to detect your config file, execute the following commands:\n  \n\n\n\n \n mesheryctl system config minikube -t ~/Downloads/auth.json\n \n \n\n\nOptionally run the command below to expose the LoadBalancer services to the host machine :\n\n\n \n minikube tunnel\n \n \n\nOptionally configure Meshery to use minikube through the Web UI :\n\n\n  Run the below command to generate the “config_minikube.yaml” file for your cluster:\n\n\n\n \n kubectl config view --minify --flatten &gt; config_minikube.yaml\n \n \n\n\n  Upload the generated config file by navigating to Settings &gt; Environment &gt; Out of Cluster Deployment in the Web UI and using the “Upload kubeconfig” option.\n\n\nManual Steps\n\nYou may also manually generate and load the kubeconfig file for Meshery to use:\n\nThe following configuration yaml will be used by Meshery. Copy and paste the following in your config file :\n\n\n \n apiVersion: v1\n clusters:\n - cluster:\n     certificate-authority-data: &lt; cert shortcutted &gt;\n     server: https://192.168.99.100:8443\n   name: minikube\n contexts:\n - context:\n     cluster: minikube\n     user: minikube\n   name: minikube\n current-context: minikube\n kind: Config\n preferences: {}\n users:\n - name: minikube\n   user:\n     client-certificate-data: &lt; cert shortcutted &gt;\n     client-key-data: &lt; key shortcutted &gt;\n \n \n\nNote: Make sure current-context is set to minikube.\n\n\nTo allow Meshery to auto detect your config file, Run :\n\n \n kubectl config view --minify --flatten &gt; config_minikube.yaml\n \n\n\n\nMeshery should now be connected with your managed Kubernetes instance. Take a look at the Meshery guides for advanced usage tips."
					}




					,

					"guides-multiple-adapters": {
						"id": "guides-multiple-adapters",
						"title": "Using Multiple Adapters",
						"categories": "",
						"url": " /guides/multiple-adapters",
						"content": "Advanced Configuration\n\nMeshery is capable of running zero or more service mesh adapters. Without any service mesh adapters, some but not all of Meshery’s features will continue to function (e.g. performance testing of workloads not running on a service mesh).\n\nModifying the default adapter deployment configuration\n\nThe number of adapters, type of adapters, where they are deployed, how they are named and what port they are exposed on are all configurable deployment options. To modify the default configuration, find ~/.meshery/meshery.yaml on your system. ~/.meshery/meshery.yaml is a Docker Compose file.\n\nConfiguration: Running fewer Meshery adapters\n\nTo customize which Meshery Adapters are used in which deployments, customize your contexts in your meshconfig.\n\nRecommended:\nConfigure your meshconfig, using mesheryctl system context to customize which Meshery Adapters are used in which deployments.\n\nAlternative:\nAlternatively, directly modify youn the ~/.meshery/meshery.yaml configuration file, remove the entry(ies) of the adapter(s) you are removing from your deployment.\n\nConfiguration: Running more than one instance of the same Meshery adapter\n\nThe default configuration of a Meshery deployment includes one instance of each of the Meshery adapters (that have reached a stable version status). You may choose to run multiple instances of the same type of Meshery adapter; e.g. two instances of the Meshery Adapter for NGINX Service Mesh. To do so, you can use either of Meshery’s clients or to modify your Meshery deployment:\n\n  Using mesheryctl, modify ~/.meshery/meshery.yaml to include multiple copies of the given adapter.\n  Using Meshery UI, navigate to the Settings page and enter the host and port of your additional adapter.\n\n\nConfiguration: Choosing an adapter while installing Mesheryctl\n\nWhile installing mesheryctl using bash installation script, we can choose which adapter to be loaded.\nThis is done by passing ADAPTERS environment variable to meshery bash script.\n\nFor e.g. \ncurl -L https://meshery.io/install | ADAPTERS=consul PLATFORM=kubernetes bash - installs mesheryctl and starts Meshery server for kubernetes platform by loading consul adapter alone. Rest of the service mesh adapters are not loaded.\n\nDemo of Meshery managing service mesh deployments across multiple clusters:\n\n\n\nSee on YouTube: Cloud Native Austin Virtual Meetup: April 2020"
					}




					,

					"es-guides-multiple-adapters": {
						"id": "es-guides-multiple-adapters",
						"title": "Usar varios adaptadores",
						"categories": "",
						"url": " /es/guides/multiple-adapters",
						"content": "Configuración Avanzada\n\nMeshery es capaz de ejecutar cero o más adaptadores de malla de servicio. Sin ningún adaptador de malla de servicio, algunas, pero no todas, las características de Meshery seguirán funcionando (por ejemplo, pruebas de rendimiento de cargas de trabajo que no se ejecutan en una malla de servicio).\n\nModificación de la configuración de implementación del adaptador predeterminada\n\nLa cantidad de adaptadores, el tipo de adaptadores, dónde se implementan, cómo se nombran y en qué puerto están expuestos son todas opciones de implementación configurables. Para modificar la configuración predeterminada, busque ~/.meshery/meshery.yaml en su sistema. ~/.meshery/meshery.yaml es un archivo Docker Compose.\n\nConfiguración: Ejecutar menos Adaptadores Meshery\n\nEn el archivo de configuración ~/.meshery/meshery.yaml, remover la linea(s) del adaptador(es) que quiere eliminar de su sistema.\n\nConfiguración: Ejecutar más de una instancia del mismo adaptador Meshery\n\nLa configuración predeterminada de una implementación de Meshery incluye una instancia de cada uno de los adaptadores de Meshery (que han alcanzado un estado de versión estable). Puede optar por ejecutar varias instancias del mismo tipo de adaptador Meshery; p.ej. dos instancias del adaptador meshery-istio. Para hacerlo, modifique ~/.meshery/meshery.yaml para incluir múltiples copias del adaptador dado.\n\nDemostración de Meshery administrando implementaciones de malla de servicios en múltiples clústeres:\n\n\n\nVea en YouTube: Cloud Native Austin Virtual Meetup: April 2020"
					}








					,

					"project-compatibility-matrix-meshery-nginx-sm-past-results": {
						"id": "project-compatibility-matrix-meshery-nginx-sm-past-results",
						"title": "Meshery-Nginx Past Results",
						"categories": "",
						"url": " /project/compatibility-matrix/meshery-nginx-sm-past-results",
						"content": ""
					}




					,

					"es-concepts-architecture-operator": {
						"id": "es-concepts-architecture-operator",
						"title": "Operador",
						"categories": "",
						"url": " /es/concepts/architecture/operator",
						"content": "Meshery Operator \n\nMeshery Operator es el operador multi-service mesh (un controlador personalizado de Kubernetes) que administra MeshSync y su agente de mensajes.\n\nMeshery Operator es un administrador de controladores de Kubernetes, conocido como un Operador de Kubernetes. Meshery Operator administra el ciclo de vida de cualquier componente de Meshery que es desplegado o ejecutado dentro de un clúster de Kubernetes.\n\nDespliegues\n\nEs recomendable desplegar un Meshery Operator por clúster.\n\n\n\nSecuencia de inicialización\n\n\n\nControladores administrados por Meshery Operator\n\nControlador de Agente\n\nEl Meshery broker es uno de los componentes centrales de la arquitectura de Meshery. Este controlador administra el ciclo de vida del agente que Meshery usa para la transmisión de datos a través del clúster y el mundo exterior.\n\nVer Meshery Broker para más información.\n\nControlador de MeshSync\n\nEl controlador de MeshSync administra el ciclo de vida de MeshSync que es desplegado para la sincronización de recursos para el clúster.\n\nVer MeshSync para más información.\n\nPreguntas más Frecuentes del Operador\n\n¿Cuándo es desplegado Meshery Operator y cuándo es eliminado?\nComo un controlador personalizado de Kubernetes, Meshery Operator es provisionado y desprovisionado cuando el Meshery Server está conectado o desconectado del clúster de Kubernetes. Las conexiones del Meshery Operator al clúster de Kubeernetes se controlan utilizando clientes de Meshery Server: mesheryctl o Meshery UI. Este comportamiento descrito a continuación es consistente si su despliegue de Meshery está usando Docker o Kubernetes como la plataforma para hospedar el despliegue de Meshery.\n\nCLI de Meshery\nmesheryctl inicia la conexión del clúster de Kubernetes cuando se ejecuta mesheryctl system start y desconectado cuando se ejecuta mesheryctl system stop. Este comportamiento es consistente si su despliegue de Meshery está usando Docker o Kubernetes como la plataforma para hospedar el despliegue de Meshery.\n\nUI de Meshery\nMeshery UI ofrece mayor control granular sobre el despliegue de Meshery Operator en el cual puede eliminar Meshery Operator de un clúster de Kubernetes sin desconectar Meshery Server del clúster de Kubernetes. Puede controlar el despliegue de Meshery Operator usando el interruptor de encendido/apagado que se encuentra en la sección de Configuración de Meshery Operator.\n\n¿El Meshery Operator usa un SDK o framework?\nSí, Meshery Operator usa el Operator SDK."
					}




					,

					"concepts-architecture-operator": {
						"id": "concepts-architecture-operator",
						"title": "Operator",
						"categories": "",
						"url": " /concepts/architecture/operator",
						"content": "Meshery Operator \n\nMeshery Operator is the multi-service mesh operator (a Kubernetes custom controller) that manages MeshSync and it’s messaging broker.\n\nMeshery Operator is a Kubernetes controller manager, otherwise known as a Kubernetes Operator. Meshery Operator manages the lifecycle of every Meshery component that is deployed or running inside of a Kubernetes cluster.\n\nDeployments\n\nIt is recommended to deploy one Meshery Operator per cluster.\n\n\n\nInitialization Sequence\n\n\n\nControllers managed by Meshery Operator\n\nBroker Controller\n\nMeshery broker is one of the core components of the meshery architecture. This controller manages the lifecycle of broker that meshery uses for data streaming across the cluster and the outside world.\n\nSee Meshery Broker for more information.\n\nMeshSync Controller\n\nMeshSync Controller manages the lifecycle of MeshSync that is deployed for resource synchronization for the cluster.\n\nSee MeshSync for more information.\n\nOperator FAQs\n\nWhen is Meshery Operator deployed and when is it deleted?\nAs a Kubernetes custom controller, Meshery Operator is provisioned and deprovisioned when Meshery Server is connected to or disconnected from Kubernetes cluster. Meshery Server connections to Kubernetes clusters are controlled using Meshery Server clients: mesheryctl or Meshery UI.  This behavior described below is consistent whether your Meshery deployment is using Docker or Kubernetes as the platform to host the Meshery deployment.\n\nMeshery CLI\nmesheryctl initiates connection to Kubernetes cluster when mesheryctl system start is executed and disconnects when mesheryctl system stop is executed. This behavior is consistent whether your Meshery deployment is using Docker or Kubernetes as the platform to host the Meshery deployment.\n\nMeshery UI\nMeshery UI offers more granular control over the deployment of Meshery Operator in that you can remove Meshery Operator from a Kubernetes cluster without disconnecting Meshery Server from the Kubernetes cluster. You can control the deployment of Meshery Operator using the on/off switch found in the Meshery Operator section of  Settings.\n\nDoes the Meshery Operator use an SDK or framework?\nYes, Meshery Operator used the Operator SDK."
					}




					,

					"project-compatibility-matrix-meshery-osm-past-results": {
						"id": "project-compatibility-matrix-meshery-osm-past-results",
						"title": "Meshery-OSM Past Results",
						"categories": "",
						"url": " /project/compatibility-matrix/meshery-osm-past-results",
						"content": ""
					}




					,

					"getting-started-overview": {
						"id": "getting-started-overview",
						"title": "Overview",
						"categories": "",
						"url": " /getting-started/overview",
						"content": "As the cloud native management plane, Meshery enables the adoption, operation, and management of any service mesh and their workloads. Meshery’s powerful performance management functionality is accomplished through implementation of Service Mesh Performance (SMP). Meshery’s cloud native management functionality leverages Service Mesh Interface (SMI) and Meshery is the conformance tool for SMI. Meshery integrates with Open Application Model (OAM) to enable users to deploy service mesh patterns. Meshery enables operators to deploy WebAssembly filters to Envoy-based data planes. Meshery facilitates learning about functionality and performance of service meshes and incorporates the collection and display of metrics from applications running on or across service meshes.\n\nMeshery’s Functionality\n\nMeshery features can be categorized by:\n\n\n  Service Mesh Performance Management\n    \n      Workload and service mesh performance characterization\n      Prometheus and Grafana integration\n    \n  \n  Service Mesh Configuration Management\n    \n      Configuration best practices\n    \n  \n  Service Mesh Lifecycle Management\n    \n      Service mesh provisioning and workload onboarding\n      Meshery Operator and MeshSync\n      Service mesh patterns and Open Application Model integration\n    \n  \n  Data Plane Intelligence\n    \n      Registry and configuration of WebAssembly filters for Envoy\n    \n  \n  Service Mesh Interoperability and Federation\n    \n      Manage multiple service meshes concurrently\n      Connect to multiple clusters independently\n    \n  \n\n\nMeshery is for Developers, Operators, and Product Owners\n\nWhether making a Day 0 adoption choice or maintaining a Day 2 deployment, Meshery has useful capabilities in either circumstance. Targeted audience for Meshery project would be any technology operators that leverage service mesh in their ecosystem; this includes developers, devops engineers, decision makers, architects, and organizations that rely on microservices platform.\n\nMeshery is for service mesh patterns\n\nMeshery integrates with Open Application Model (OAM) to enable users to deploy service mesh patterns.\n\nMeshery is for performance management\n\nMeshery helps users weigh the value of their service mesh deployment against the overhead incurred in running a service mesh. Meshery provides statistical analysis of the request latency and throughput seen across various permutations of your workload, infrastructure and service mesh configuration.\nIn addition to request latency and throughput, Meshery also tracks memory and CPU overhead in of the nodes in your cluster. Measure your data plane and control plane against different sets of workloads and infrastructures.\n\nAnytime performance questions are to be answered, they are subjective to the specific workload and infrastructure used for measurement. Given this challenge, the Envoy project, for example, refuses to publish performance data because such tests can be:\n\n\n  Involved\n  Misinterpreted\n\n\nBeyond the need for performance and overhead data under a permutation of different workloads (applications) and types and sizes of infrastructure resources, the need for cross-project, apple-to-apple comparisons are also desired in order to facilitate a comparison of behavioral differences between service meshes and selection of their use. Individual projects shy from publishing test results of other, competing service meshes. An independent, unbiased, credible analysis is needed.\n\nMeshery is intended to be a vendor and project-neutral utility for uniformly benchmarking the performance of service meshes. Between service mesh and proxy projects (and surprisingly, within a single project), a number of different tools and results exist. Meshery allows you to pick an efficient set of tools for your ecosystem by providing performance evaluation and metrics.\n\n\n  By leveraging Meshery you could achieve apples-to-apples performance comparison of service meshes\n  Track your service mesh performance from release to release.\n  Understand behavioral differences between service meshes.\n  Track your application performance from version to version.\n\n\n\nEstablish a performance benchmark and track performance against this baseline as your environment changes over time.\n\nMeshery is for any service mesh\n\nInfrastructure diversity is a reality for any enterprise. Whether you’re running a single service mesh or multiple types of service meshes, you’ll find that Meshery supports your infrastructure diversity (or lack thereof).\n\nSupported Service Meshes\n\nStable\n\n\n  \n    \n      Service Mesh\n      Status\n    \n  \n  \n    \n       Meshery Adapter for Cilium Service Mesh\n      stable\n    \n    \n       Meshery Adapter for Consul\n      stable\n    \n    \n       Meshery Adapter for Istio\n      stable\n    \n    \n       Meshery Adapter for Kuma\n      stable\n    \n    \n       Meshery Adapter for Linkerd\n      stable\n    \n    \n       Meshery Adapter for NGINX Service Mesh\n      stable\n    \n    \n       Meshery Adapter for Network Service Mesh\n      stable\n    \n    \n       Meshery Adapter for Open Service Mesh\n      stable\n    \n    \n       Meshery Adapter for Traefik Mesh\n      stable\n    \n  \n\n\nBeta\n\n\n  \n    \n      Service Mesh\n      Status\n    \n  \n  \n    \n       Meshery Adapter for App Mesh\n      beta\n    \n    \n       Meshery Adapter for Citrix Service Mesh\n      beta\n    \n  \n\n\nAlpha - Service mesh adapters for which we are seeking community-contributed support.\n\n\n  \n    \n      Service Mesh\n      Status\n    \n  \n  \n    \n       Meshery Adapter for Tanzu Service Mesh\n      alpha"
					}




					,

					"es-overview": {
						"id": "es-overview",
						"title": "Descripción General",
						"categories": "",
						"url": " /es/overview",
						"content": "Introducción a Meshery\n\nEl plano de gestión de service mesh adopta, opera y desarrolla sobre diferentes service meshes.\nMeshery facilita el aprendizaje sobre la funcionalidad y el desempeño de los service mesh e incorpora la recopilación y visualización de métricas de las aplicaciones que se ejecutan dentro de un service mesh o multiples service meshes.\nMeshery proporciona estas funcionalidades de alto nivel:\n\n\n  Gestión del desempeño de service meshes.\n  Gestión de configuración de service meshes.\n    \n      Mejores prácticas de configuración.\n    \n  \n  Gestión del ciclo de vida de service meshes.\n  Interoperabilidad y asociación de service meshes.\n\n\n\n\nPresentado en Service Mesh Day 2019\n\n¿Qué desafíos resuelve Meshery?\nGestión de service mesh - uno o múltiples service meshes.\n\nSiempre que haya que responder a estas preguntas sobre el desempeño, son subjetivas a la carga de trabajo y la infraestructura específicas utilizadas para la medición. Ante este desafío, el proyecto Envoy, por ejemplo, se niega a publicar datos de desempeño porque tales pruebas pueden ser:\n\n\n  Confusas\n  Malinterpretadas.\n\n\nMás allá de la necesidad del desempeño y el alto consumo de datos bajo una permutación de diferentes cargas de trabajo (aplicaciones), los tipos y tamaños de los recursos de infraestructura, la necesidad de un proyecto multifuncional, y las comparaciones entre semejantes, son anhelados para facilitar una comparación de las diferencias de comportamiento entre service meshes y la selección de su uso. Los proyectos individuales son reservados en publicar resultados de pruebas de otras competencias de service mesh. Es necesario un análisis independiente, imparcial y creíble.\n\nLa intención de Meshery es ser un proveedor y una utilidad neutra de proyectos para evaluar de manera uniforme el desempeño de los service mesh. Entre proyectos de service mesh y servicios de proxy (y sorprendentemente, dentro de un mismo proyecto), existen diferentes números de herramientas y resultados. Meshery permite elegir un conjunto eficiente de herramientas para su ecosistema al proporcionar evaluaciones y métricas de desempeño.\n\n\n  Al aprovechar Meshery, podrás lograr una comparación de desempeño de los service meshes semejantes.\n  Realiza un seguimiento del desempeño de un service mesh de un release a otro.\n  Comprende las diferencias de comportamiento entre los service meshes.\n  Realiza un seguimiento del desempeño de su aplicación de una versión a otra.\n\n\nMeshery es para Entusiastas y Operadores\n\nSea la opción para implementar desde el Día 0 o el mantenimiento del Día 2 de despliegue, Meshery tiene capacidades útiles para cualquier circunstancia. La audicencia dirigida para un proyecto con Meshery sería cualquier tipo de operador que aproveche el service mesh en su ecosistema; incluyendo desarrolladores, ingenieros de devops, quienes toman decisiones, arquitectos, y organizaciones que dependen de una plataforma de microservicios..\n\nMeshery es para la gestión de desempeño: pruebas y comparaciones de mercado\n\nMeshery ayuda a los usuarios a sopesar el valor de la implementación de un service mesh con la alta carga involucrada a la ejecución del mismo. Meshery proporciona un análisis estadístico de la latencia de las solicitudes y el rendimiento que se observan a través de las permutaciones de su carga de trabajo, infraestructura y la configuración del service mesh.\nAdemás de solicitar la latencia y el rendimiento, Meshery también rastrea la sobrecarga de memoria y el CPU en los nodos del clúster. Mide el plano de datos y el plano de control con diferentes conjuntos de cargas de trabajo e infraestructuras.\n\n\nEstablece un desempeño de marca y rastrea el desempeño como estándar a medida que cambia en el tiempo.\n\nMeshery es para cualquier service mesh\nLa diversidad de infraestructuras es una realidad para cualquier organización. Ya sea que se esté ejecutando un solo service mesh o varios tipos de service meshes, en Meshery encontrarás que soporta una diversidad de infraestructura (o bien, la falta de una).\n\n\n  Adaptadores disponibles de service mesh - Adaptadores de service mesh soportados por Mashery.\n\n\n\n  \n    \n      Plataforma                                            \n      Estado\n    \n  \n  \n    \n      Meshery Adapter for Cilium Service Mesh\n      stable\n    \n    \n      Meshery Adapter for Consul\n      stable\n    \n    \n      Meshery Adapter for Istio\n      stable\n    \n    \n      Meshery Adapter for Kuma\n      stable\n    \n    \n      Meshery Adapter for Linkerd\n      stable\n    \n    \n      Meshery Adapter for NGINX Service Mesh\n      stable\n    \n    \n      Meshery Adapter for Network Service Mesh\n      stable\n    \n    \n      Meshery Adapter for Open Service Mesh\n      stable\n    \n    \n      Meshery Adapter for Traefik Mesh\n      stable\n    \n  \n\n\n\n\n  Adaptadores en progreso de service mesh - Adaptadores de service mesh sometidos por la comunidad y en desarrollo\n\n\n\n  \n    \n      Plataforma                                            \n      Estado\n    \n  \n  \n    \n      Meshery Adapter for App Mesh\n      beta\n    \n    \n      Meshery Adapter for Citrix Service Mesh\n      beta\n    \n  \n\n\n\n\n  Adaptadores de service mesh que buscamos apoyo - Adaptadores de service mesh que se encuentran en búsqueda de ayuda de la comunidad.\n\n\n\n  \n    \n      Plataforma                                                \n      Estado\n    \n  \n  \n    \n      Meshery Adapter for Tanzu Service Mesh\n      alpha\n    \n  \n\n\nComunidad\nEste proyecto es hecho por la comunidad y toda colaboración es bienvenida! Fork here on Github\n\n\n  \n    Únete a la reunión semanal de la comunidad Viernes de 10am a 11am Horario Central.\n\n    \n      Observa las grabaciones de la comunidad y suscríbete al calendario de la comunidad.\n    \n  \n  \n    Ingresa al drive de la comunidad (solicita acceso).\n  \n\n\nFAQ\n\n¿Por qué usar Meshery?\n\n\n  Porque es un proyecto de código abierto, proveedor neutral de proyectos que facilita las pruebas en meshes.\n  Porque fortio no está empaquetado en una utilidad de prueba de mesh, sino que es solo un generador de carga en sí mismo.\n  Debido a que regpatrol es de código cerrado, el código binario no es liberado, embebido para un mesh y es producido por un proveedor de ese mesh.\n\n\n¿Por qué crear Meshery y no usar otra herramienta de marca?\n\nMeshery está diseñado específicamente para facilitar la evaluación comparativa de los service mesh y sus cargas de trabajo, al contrario de otras herramientas. Sin embargo también existen otras herramientas que se utilizan para la evaluación comparativa de los service meshes, como regpatrol. Regpatrol es utilizado por IBM, el cual no es código abierto ni está disponible en su forma binaria para su uso, posee las siguientes diferencias con Meshery:\n\n\n  Telemetría: regpatrol obtiene la telemetría del adaptador Mixer Prometheus y utiliza el agente de nodo propietario de IBM.\n  Meshery se obtiene del adaptador Mixer Prometheus y utiliza el exportador de nodos Prometheus.\n  Tipo de tráfico: regpatrol usa JMeter, que puede analizar las respuestas y realizar pruebas funcionales.\n  Meshery está usando fortio, que es solo para pruebas de generación y rendimiento.\n\n\nRecursos\n\nPresentaciones de Meshery\n\n\n  O’Reilly OSCON 2020\n  O’Reilly Infrastructure &amp; Ops 2020\n  InnoTech Dallas 2020\n  KubeCon EU 2020\n  DockerCon 2020 (deck, video)\n  Open Source 101 at Home\n  Docker Captains Roundtable 2020\n  Cloud Native Austin 2020\n  NSMCon 2019 talk (video, deck)\n  Service Mesh Day 2019\n  DockerCon 2019 Open Source Summit\n  KubeCon EU 2019 (video, deck)\n  KubeCon EU 2019 Istio Founders Meetup\n  Cloud Native Rejekts EU 2019\n  Container World 2019\n  Solving the Service Mesh Adopter’s Dilemma (deck, event,video)\n\n\nOtros Recursos\n\n\n  Comparación de Service Meshes\n  Herramientas de Service meshes\n  Libros sobre Service Mesh\n  Workshops sobre Service Mesh"
					}




					,

					"es-overview": {
						"id": "es-overview",
						"title": "Vista General",
						"categories": "",
						"url": " /es/overview",
						"content": "As the cloud native management plane, Meshery enables the adoption, operation, and management of any service mesh and their workloads. Meshery’s powerful performance management functionality is accomplished through implementation of Service Mesh Performance (SMP). Meshery’s cloud native manager functionality leverages Service Mesh Interface (SMI). Meshery enables operators to deploy WebAssembly filters to Envoy-based data planes. Meshery facilitates learning about functionality and performance of service meshes and incorporates the collection and display of metrics from applications running on or across service meshes.\n\nMeshery’s Functionality\n\nMeshery features can be categorized by:\n\n\n  Service Mesh Performance Management\n    \n      Workload and service mesh benchmarking\n      Prometheus and Grafana Integration\n    \n  \n  Service Mesh Configuration Management\n    \n      Configuration best practices\n    \n  \n  Service Mesh Lifecycle Management\n    \n      Service mesh provisioning and workload onboarding\n      Meshery Operator and MeshSync\n    \n  \n  Data Plane Intelligence\n    \n      WebAssembly filters for Envoy\n    \n  \n  Service Mesh Interoperability and Federation\n    \n      Manage multiple service meshes concurrently\n      Connect to multiple clusters independently\n    \n  \n\n\nMeshery is for Developers, Operators, and Product Owners\n\nWhether making a Day 0 adoption choice or maintaining a Day 2 deployment, Meshery has useful capabilities in either circumstance. Targeted audience for Meshery project would be any technology operators that leverage service mesh in their ecosystem; this includes developers, devops engineers, decision makers, architects, and organizations that rely on microservices platform.\n\nCloud Native Management - multi-cluster Kubernetes and service mesh management.**\n\nMeshery is for performance management: testing and benchmarking\n\nMeshery helps users weigh the value of their service mesh deployment against the overhead incurred in running a service mesh. Meshery provides statistical analysis of the request latency and throughput seen across various permutations of your workload, infrastructure and service mesh configuration.\nIn addition to request latency and throughput, Meshery also tracks memory and CPU overhead in of the nodes in your cluster. Measure your data plane and control plane against different sets of workloads and infrastructures.\n\nAnytime performance questions are to be answered, they are subjective to the specific workload and infrastructure used for measurement. Given this challenge, the Envoy project, for example, refuses to publish performance data because such tests can be:\n\n\n  Involved\n  Misinterpreted\n\n\nBeyond the need for performance and overhead data under a permutation of different workloads (applications) and types and sizes of infrastructure resources, the need for cross-project, apple-to-apple comparisons are also desired in order to facilitate a comparison of behavioral differences between service meshes and selection of their use. Individual projects shy from publishing test results of other, competing service meshes. An independent, unbiased, credible analysis is needed.\n\nMeshery is intended to be a vendor and project-neutral utility for uniformly benchmarking the performance of service meshes. Between service mesh and proxy projects (and surprisingly, within a single project), a number of different tools and results exist. Meshery allows you to pick an efficient set of tools for your ecosystem by providing performance evaluation and metrics.\n\n\n  By leveraging Meshery you could achieve apples-to-apples performance comparison of service meshes\n  Track your service mesh performance from release to release.\n  Understand behavioral differences between service meshes.\n  Track your application performance from version to version.\n\n\n\nEstablish a performance benchmark and track performance against this baseline as your environment changes over time.\n\nMeshery is for any service mesh\n\nInfrastructure diversity is a reality for any enterprise. Whether you’re running a single service mesh or multiple types of service meshes, you’ll find that Meshery supports your infrastructure diversity (or lack thereof).\n\nSupported Service Meshes\n\nStable\n\n| Platform                                          | Status |\n| :——————————————————————————————————————————————————— | :—– |\n\n\n  \n    \n       Meshery Adapter for Cilium Service Mesh\n      stable\n    \n    \n       Meshery Adapter for Consul\n      stable\n    \n    \n       Meshery Adapter for Istio\n      stable\n    \n    \n       Meshery Adapter for Kuma\n      stable\n    \n    \n       Meshery Adapter for Linkerd\n      stable\n    \n    \n       Meshery Adapter for NGINX Service Mesh\n      stable\n    \n    \n       Meshery Adapter for Network Service Mesh\n      stable\n    \n    \n       Meshery Adapter for Open Service Mesh\n      stable\n    \n    \n       Meshery Adapter for Traefik Mesh\n      stable\n    \n  \n\n\nBeta\n\n| Platform                                          | Status |\n| :——————————————————————————————————————————————————— | :—– |\n\n\n  \n    \n       Meshery Adapter for App Mesh\n      beta\n    \n    \n       Meshery Adapter for Citrix Service Mesh\n      beta\n    \n  \n\n\nAlpha - Service mesh adapters adapters for which we are seeking community-contributed support.\n\n| Platform                                          | Status |\n| :——————————————————————————————————————————————————— | :—– |\n\n\n  \n    \n       Meshery Adapter for Tanzu Service Mesh\n      alpha"
					}




					,

					"functionality-pattern-management": {
						"id": "functionality-pattern-management",
						"title": "Service Mesh Pattern Management",
						"categories": "",
						"url": " /functionality/pattern-management",
						"content": "What are Service Mesh Patterns?\nThis feature area is under active development. Until additional documentation is published,see the Meshery and Service Mesh Patterns design specification for further details.\n\n\nUse Meshery to Deploy a Service Mesh Pattern\n\nYou can use Meshery to deploy a service mesh pattern. Service mesh patterns are detailed as a YAML file. See the Configuration Management guide.\n\nPattern Repository\n\nYou may bring your own patterns or find them available through your chosen provider. Each service mesh pattern carries a unique identifier for reference. The patterns in this repository serve in an educational capacity, facilitating learning, and also serve in an operational capacity, facilitating implementation and validation of your service mesh deployment’s adherence to a pattern.\n\n\nFuture Pattern Repository\nA central set of patterns will available in the Service Mesh Patterns repository. In this repository, you will find each of Meshery's patterns, which will also be available through the Local Provider.\n\n\nSample Patterns\n\nBasic Istio Install\n\n### \npattern-id: MESHERY001\npattern-name: Basic Istio Install\nservice-mesh:\t\t\t\t    # (required*) one or more service meshes\n  istio-acme:\t\t\t\t    # (required*) name of the instance mesh\n    type: IstioMesh\t\t\t    # (required*) type of service mesh\n    namespace: istio-system\t\t# (required*) control plane namespace required\n    settings:\t\t\t\t    # (optional) control and data plane settings\n      version: 1.8.2\t\t\t# (required) service mesh build version\n      profile: demo\t\t\t\t# (optional) reference to service mesh configuration\n    traits:\t\t\t\t    # (required) one or more configuration \n      mTLS:\t\t\t\t    # (optional)\n        policy: mutual\t\t\t# (optional)\n        namespaces:\t\t\t  # (optional)\n          - istio-test\t\t\t # (optional)\n      automaticSidecarInjection:    # (optional)\n        namespaces:\t\t\t    # (optional)\n          - default\t\t\t\t# (optional)\n          - istio-test\t\t\t# (optional)\n\n\nDuration-based Canary Rollout\n\npattern-id: MESHERY002\npattern-name: Duration-based Canary Rollout\nnamespace: meshy-app\nsettings:\n    replicas: 5\n    containers:\n    - name: svc-demo\n        image: layer5/meshy-app:v5\n        ports:\n        - name: http\n        containerPort: 8080\n        protocol: TCP\n        resources:\n        requests:\n            memory: 32Mi\n            cpu: 5m\n    svcPorts:\n    - 8080:8080\ntraits:\n    strategy:\n    canary:\n        - setWeight: 20\n        - pause: {duration: 60}\n        - setWeight: 40\n        - pause: {duration: 10}\n        - setWeight: 60\n        - pause: {duration: 10}\n        - setWeight: 80\n        - pause: {duration: 10}\n\n\nSample Application\n\nname: ApplicationPattern # display name in Meshery UI\nservices:\n  myapp:\n    type: Application\n    namespace: test\n    settings:\n      replicas: 1\n      containers:\n        - name: meshy\n          image: utkarsh23/meshy:v5\n          ports:\n            - name: http\n              containerPort: 8080\n\n\nImporting Patterns\n\nYou can import a pattern using mesheryctl or Meshery UI. Patterns can be imported from your local filesystem, an HTTP/S endpoint, or from GitHub. When provided a GitHub location (org/repo), Meshery will recursively search the given directory (or the entire repository) for existing pattern files.\n\nUsing Meshery CLI\n\nTo import a pattern, execute this command:\n\n$ mesheryctl pattern import -f &lt;path to the pattern&gt;\nImporting pattern…\nPattern successfully imported.\n\nUsing Meshery UI:\n\nFrom Meshery UI, patterns can be imported from your local filesystem or imported from a remote URL.\n\n\n    \n\n\nTo upload from url click the link icon\n\n\n    \n\n\nTo deploy a pattern, execute this command:\n\n$ mesheryctl pattern apply -f &lt;path to the pattern&gt;\nDeploying pattern…\nPattern successfully applied.\n\n\nFrom here, output and behavior will vary based upon the specific pattern you’re deploying. Should you find that your pattern is not successfully deployed, refer to the pattern troubleshooting guide in the Meshery documentation.\n\nAs you step through each pattern, you might choose to modify the pattern to suit your specific environment and workload, exploring in-context of your specific situation. Optionally, you may choose to use a plugin like MeshMap, or another visual service mesh topology tool, to facilitate your comprehension of the patterns and to literally see the patterns in-action.\n\nTake time to explore. Try deploying one service mesh’s sample application onto a different service mesh and compare differences in behavior and each service mesh’s ability to manage it. If using Meshery to do so, execute the following commands as an example to deploy the sample application, BookCatalog, onto Open Service Mesh:\n\n$ mesheryctl pattern apply -f book-catalog\nDeploying application “BookCatalog”...\nDeployed. Endpoint(s) available at: http://localhost:8000/catalog\n\n\nRelated Reading\n\n\n  mesheryctl pattern"
					}




					,

					"guides-performance-management": {
						"id": "guides-performance-management",
						"title": "Performance Management with Meshery",
						"categories": "",
						"url": " /guides/performance-management",
						"content": "This guide walks through running performance benchmarks using Meshery. Users can either use the Meshery UI, the CLI, mesheryctl or run performance tests in their CI/CD pipelines using the Meshery GitHub Action.\n\nInstalling Meshery\n\nInstall and login to Meshery to start running performance benchmarks. See Installation documentation for detailed steps on how to install Meshery.\n\nMeshery dashboard\n\n\n\nIf you are looking to run performance benchmarks on a service mesh, you can use Meshery’s service mesh lifecycle management capabilities to deploy a service mesh and deploy your application on the mesh.\n\nWith Meshery’s performance benchmarking feature, you can also deploy you application off the mesh and compare the performance and determine the overhead when the app runs on the mesh.\n\nTo install a service mesh, see this guide.\n\nMeshery also comes with a set of sample applications that you can quickly deploy to test out the capabilities of your service mesh.\n\nNext, we navigate to the main Performance Testing dashboard. See Performance Management to learn more about performance profiles, load generators, Kubernetes cluster, and service mesh metrics.\n\nRunning Performance Benchmarks Through Meshery UI\n\nMeshery UI provides an easy-to-use interface in which users can create performance profiles to run repeated tests with similar configuration and can also even schedule performance tests to be run at particular times through the calendar.\n\nOn the navigation menu, click on performance.\n\nThis will open the performance management dashboard as shown below.\n\n\n\nPerformance Management Dashboard\n\nTo create a performance profile, click on “Manage Profiles” and then select “+ Add Performance Profile”.\n\n\n\nPerformance Profiles\n\nThis will open up a popup window where you can fill out the test configuration for running your benchmarks.\n\n\n\nConfiguring a Performance Test\n\nYou can now save the profile and run the test. The test will continue to run in the background even if you close the popup.\n\n\n\nOnce the test is done, you would be able to see the results of the test below.\n\n\n\nPerformance Test Results\n\nYou can then go back to your performance profile and get these results anytime.\n\nYou can also compare different test results in Meshery and draw insights. For example, you can run this test with your application running on different service meshes and check which performs better.\n\n\n\nSelecting multiple test results\n\n\n\nComparing multiple test results\n\nRunning Performance Benchmarks Through mesheryctl\n\nThe mesheryctl perf subcommand provides the performance management features of Meshery in the CLI.\n\nTo run a performance test based on a performance profile, run:\n\nmesheryctl perf apply Istio Performance Test\n\n\nYou can also use flags to configure your performance test. For example:\n\nmesheryctl perf apply istio-soak-test --concurrent-requests 1 --duration 15s --load-generator nighthawk --mesh istio --url http://localhost:2323\n\n\nmesheryctl also supports test configurations written in SMP compatible format as shown below:\n\ntest:\n  smp_version: v0.0.1\n  name: Istio Performance Test\n  labels: {}\n  clients:\n    - internal: false\n      load_generator: fortio\n      protocol: 1\n      connections: 2\n      rps: 10\n      headers: {}\n      cookies: {}\n      body: ''\n      content_type: ''\n      endpoint_urls:\n        - 'http://localhost:2323/productpage'\n  duration: '30m'\nmesh:\n  type: 3\n\n\nAnd then you can pass this file to mesheryctl as:\n\nmesheryctl perf apply -f perf-config.yaml\n\n\nYou can also override the configuration passed in the file with flags like shown below:\n\nmesheryctl perf apply -f perf-config.yaml --url http://localhost:2323/productpage?u=test --load-generator nighthawk --qps 5\n\n\nRunning Performance Benchmarks in your Pipelines\n\nMeshery also has a meshery-smp-action which is a GitHub action that can be used to run performance tests in your CI/CD pipelines.\n\nDownload the token from the Meshery Dashboard by clicking on the profile icon on the top-right corner.\n\nDownloading the token\n\n\n\nYou can use this token to authenticate the instance of Meshery running in your CI/CD workflow.\n\n\nUsing the token in GitHub workflows\nYou can use the secrets feature in GitHub to store the token.\n\n\nThe action can be used by defining your test configuration in a performance profile in Meshery or by writing your test configuration in SMP compatible format.\n\nThe action can then be configured as shown below:\n\nname: Meshery SMP Action\non:\n  push:\n    branches:\n      'master'\n\njobs:\n  performance-test:\n    name: Performance Test\n    runs-on: ubuntu-latest\n    steps:\n      - name: checkout\n        uses: actions/checkout@v2\n        with:\n          ref: 'perf'\n\n      - name: Deploy k8s-minikube\n        uses: manusa/actions-setup-minikube@v2.4.1\n        with:\n          minikube version: 'v1.21.0'\n          kubernetes version: 'v1.20.7'\n          driver: docker\n\n      - name: Run Performance Test\n        uses: layer5io/meshery-smp-action@master\n        with:\n          provider_token: $\n          platform: docker\n          profile_name: soak-test\n\n\nMore configuration details of the action can be found here.\n\nSee sample configurations for more workflow examples using this action."
					}




					,

					"functionality-performance-management": {
						"id": "functionality-performance-management",
						"title": "Performance Management",
						"categories": "",
						"url": " /functionality/performance-management",
						"content": "Key to the efficient operation of any service mesh is the measurement and management of it’s performance.\n\nPerformance Profiles\n\nPerformance Profile is a new and improved way to save performance test configurations, schedule performance tests, etc. Meshery Performance Profiles offers the following features:\n\n  Saving Test Configurations\n  Create schedules for running tests automatically.\n  Meshery offers UI for describing the schedules which are as powerful as CRON but without the hassle of remembering its syntax!\n  All the tests performed are under Profiles which has multiple advantages like:\n    \n      Access test results ran under a certain profiles at one place.\n      If running ad-hoc tests, user can anytime come back and rename the performance profiles for re-use.\n    \n  \n\n\nLoad Generators\n\nMeshery provides users with a choice about the kind of load generator they prefer to use for a given performance test. Users may set their configure based on their own preference of load generator different from that of the default load generator.\n\nMeshery supports the following load generators and is extendible to support others:\n\n\n  fortio\n  wrk2\n  Nighthawk\n\n\nfortio\n\nFortio is a fast, small (3Mb docker image, minimal dependencies),\nreusable, embeddable go library as well as a command line tool and server process,\nthe server includes a simple web UI and graphical representation of the results\n(both a single latency graph and a multiple results comparative min, max, avg, qps and percentiles graphs).\n\nwrk2\n\nIt is a modern HTTP benchmarking tool capable of generating significant load when run on a single multi-core CPU. It combines a multithreaded design with scalable event notification systems such as epoll and kqueue.\n\nNighthawk\n\nNightHawk is an L7 (HTTP/HTTPS/HTTP2) performance characterization tool. It currently offers:\n\n\n  A load testing client which supports HTTP/1.1 and HTTP/2 over HTTP and HTTPS. (HTTPS certificates are not yet validated).\n  A simple test server which is capable of generating dynamic response sizes, as well as inject delays.\n  A binary to transform nighthawk output to well-known formats, allowing integration with other systems and dashboards.\n\n\nConfiguring performance testing settings\n\nMeshery provides a highly configurable set of load profiles with various, tuneable facets, including support for generating TCP, gRPC, and HTTP load with optional configuration of the performance test’s:\n\n\n  Duration\n  Concurrent Threads\n  Concurrent Generators\n  Load Generator Type\n  Custom HTTP Headers\n\n\nSee Service Mesh Performance (SMP) for a full description of the different types of performance tests that Meshery provides.\n\nUsing Performance Test Profiles\n\nAs Meshery user you can customize and save your load test configuration in the form of a Performance Test Profile. Using Performance Test Profiles, you can return to Meshery to run the same set of customized tests again and again, tracking variations in performance overtime.\n\nComparing Test Results and Service Meshes\n\nMeshery users can easily compare the difference in request performance (latency and throughput) between independent performance tests. Statistical analysis is run upon finalization of every performance test and presented in the form of a histogram with latency buckets.\n\nKubernetes Cluster and Service Mesh Metrics\n\nMeshery provides performance test results alongside environment metrics, including service mesh control and data plane metrics as well as cluster node resource metrics, so that operators may easily understand the overhead of their service mesh’s control plane and data plane in context of the overhead incurred on nodes within the cluster.\n\nGrafana and Meshery\n\nConnect Meshery to your existing Grafana instance. Meshery will auto-import the boards of your choosing:\n\n\n    \n\n\nConnecting to Grafana\n\nIf you have an API key configured to restrict access to your Grafana boards, you will need to enter the API key when establishing Meshery’s connection to Grafana. You may also set up a Grafana board and then set up an API key:\n\n\n\n\n  Import Grafana boards\n    \n      Import existing Grafana boards via API\n      Import custom Grafana board via yaml\n    \n  \n  Configure graph panel preferences\n\n\nPrometheus and Meshery\n\nMeshery allows users to connect to one or more Prometheus instances in order to gather telemetric data (in the form of metrics). These metrics may pertain to service meshes, Kubernetes, applications on the mesh or any other metric that Prometheus has collected.\n\nOnce you have connected Meshery to your Prometheus deployment(s), you may perform ad-hoc connectivity tests to verify communication between Meshery and Prometheus.\n\nSuggested Reading\n\n\n  Guide: Interpreting Performance Test Results"
					}




					,

					"es-functionality-performance-management": {
						"id": "es-functionality-performance-management",
						"title": "Gestión del rendimiento",
						"categories": "",
						"url": " /es/functionality/performance-management",
						"content": "La clave del funcionamiento eficiente de cualquier service mesh es la medición y gestión de su rendimiento.\n\nGeneradores de carga\n\nMeshery proporciona a los usuarios la opción de elegir qué generador de carga prefieren usar para una prueba de rendimiento determinada. Los usuarios pueden establecer su configuración basada en su propia preferencia de generador de carga diferente al generador de carga por defecto.\n\nMeshery soporta los siguientes generadores de carga y es extensible para soportar otros:\n\n\n  Fortio\n  wrk2\n  NightHawk\n\n\nFortio\n\nFortio es un rápida, pequeña (imagen de Docker de 3Mb, dependencias mínimas), reusable, biblioteca de go integrable, así como también una herramienta de línea de comandos y un proceso de servidor. El servidor incluye una Interfaz de Usuario web simple y una representación gráfica de los resultados (un gráfico de latencia único y gráficos comparativos de min, max, avg, qps y percentiles gráficos).\n\nwrk2\n\nEs una herramienta moderna de evaluación comparativa HTTP capaz de generar una carga significativa cuando se ejecuta en un solo CPU multi-núcleo. Combina un diseño multiproceso con sistemas de notificación de eventos escalables como lo son epoll y kqueue.\n\nNightHawk\n\nNightHawk es una herramienta de caracterización L7 (HTTP/HTTPS/HTTP2). Actualmente ofrece:\n\n\n  Un cliente de prueba de carga que soporta HTTP/1.1 y HTTP/2 sobre HTTP y HTTPS (los certificados HTTPS aún no se validan).\n  Un servidor de prueba simple capaz de generar tamaños de respuestas dinámicas, así como también inyectar retrasos.\n  Un binario para tranformar la salida de NightHawk a formatos conocidos, permitiendo la integración con otros sistemas y paneles.\n\n\nNode y métricas del service mesh\n\nMeshery proporciona los resultados de pruebas de rendimiento junto a las métricas del entorno, incluyendo el control del service mesh y las métricas del plano de datos. También incluye las métricas de los recursos del nodo del clúster, para que los operadores puedan comprender fácilmente la sobrecarga del plano de control y el plano de datos de su service mesh en el contexto de la sobrecarga incurrida en los nodos dentro del clúster.\n\nGrafana y Meshery\n\nConecte Meshery a su instancia de Grafana existente y Meshery importará los tableros que elija.\n\n\n    \n\n\nConexión a Grafana\n\nSi tiene una clave de API configurada para restringir el acceso a sus tableros de Grafana, deberá ingresar la clave de API cuando establezca la conexión de Meshery con Grafana.\n\n\n  Importación de tableros de Grafana\n    \n      Importación de tablero existente de Grafana a través de API\n      Importación de tablero personalizado de Grafana a través de yaml\n    \n  \n  Configuración de las preferencias del panel de gráficos\n\n\nPrometheus y Meshery\n\nMeshery permite a los usuarios conectarse a una o más instancias de Prometheus para recopilar datos telemétricos (en forma de métricas). Estas métricas pueden pertenecer al service mesh, Kubernetes, aplicaciones en la malla o realmente… cualquier métrica que Prometheus haya recolectado.\n\nUna vez que haya conectado Meshery a su (s) despliegue (es) de Prometheus, puede realizar pruebas de conectividad ad-hoc para verificar la comunicación entre Meshery y Prometheus.\n\nLectura sugerida\n\n\n  Guía: Interpretación de los resultados de la prueba de rendimiento"
					}




					,

					"installation-platforms": {
						"id": "installation-platforms",
						"title": "Supported Platforms",
						"categories": "",
						"url": " /installation/platforms",
						"content": "Supported Platforms\n\nMeshery deploys as a set of Docker containers, which can be deployed to either a Docker host or Kubernetes cluster. See the complete list of supported platforms in the table below. With service meshes having sprung to life in the context of Kubernetes, so too, can Meshery’s deployment models be characterized in the context of Kubernetes. A given deployment of Meshery can be described as either an in-cluster or an out-of-cluster deployment. Meshery deploys as a stand-alone, management plane on a Docker host (out-of-cluster) or as a management plane in a Kubernetes cluster (in-cluster).\n\nPlatform Compatibility Matrix\n\n\nComplete Compatibility Matrix and Testing Dashboard\nFor a complete compatibility matrix and project test status dashboard, see Meshery Compatibility Matrix\n\n\nFind installation instructions for the Supported Platforms in the compatibility table.\n\n\n  \n    \n      Platform\n      Version\n    \n  \n  \n    \n       Docker\n       \n    \n    \n           Docker Engine\n      19.x and above\n    \n    \n          Docker Desktop\n      2.0.x and above\n    \n    \n          Docker Extension\n      2.0.x and above\n    \n    \n       Kubernetes\n      1.12.x and above\n    \n    \n          AKS\n       \n    \n    \n          EKS\n      1.12.x and above\n    \n    \n          GKE\n      1.14.x and above\n    \n    \n          Helm\n       \n    \n    \n          KinD\n      v0.7.0\n    \n    \n          Kubesphere\n      v3.3\n    \n    \n          Minikube\n      1.2.x and above\n    \n    \n          OpenShift\n      In Progress\n    \n    \n       Mac\n       \n    \n    \n          Mac - Homebrew\n      macOS 10.12 - 10.15, 11\n    \n    \n          Scoop\n       \n    \n    \n          Windows\n      Build 18917 and above\n    \n    \n       Raspberry Pi\n      In Progress"
					}




					,

					"es-installation-platforms": {
						"id": "es-installation-platforms",
						"title": "Supported Platforms",
						"categories": "",
						"url": " /es/installation/platforms",
						"content": "Empezando a trabajar con otras Plataformas\n\nLa Tabla a continuación provee instrucciones de instalación para cada plataforma con la que Meshery es compatible:\n\n\n  \n    \n      Plataforma\n      Versión\n    \n  \n  \n    \n       Docker\n       \n    \n    \n           Docker Engine\n      19.x y superior\n    \n    \n          Docker Desktop\n      2.0.x y superior\n    \n    \n       Kubernetes\n      1.12.x y superior\n    \n    \n          AKS\n       \n    \n    \n          EKS\n      1.12.x y superior\n    \n    \n          GKE\n      1.14.x y superior\n    \n    \n          Helm\n       \n    \n    \n          KinD\n      v0.7.0\n    \n    \n          Minikube\n      1.2.x y superior\n    \n    \n          OpenShift\n      En Desarrollo\n    \n    \n       Mac\n       \n    \n    \n          Mac - Homebrew\n       \n    \n    \n          Scoop\n       \n    \n    \n          Windows\n      Build 18917 y superior\n    \n    \n       Raspberry Pi\n      En Desarrollo"
					}




					,

					"extensibility-providers": {
						"id": "extensibility-providers",
						"title": "Extensibility: Providers",
						"categories": "",
						"url": " /extensibility/providers",
						"content": "Meshery offers Providers as a point of extensibility. With a built-in Local Provider (named “None”), Meshery Remote Providers are designed to be pluggable. Remote Providers offer points of extension to users / integrators to deliver enhanced functionality, using Meshery as a platform. A specific type of provider can be enforced in a Meshery instance by passing it with the env variable ENFORCED_PROVIDER.\n\n\n  Extensibility points offer clean separation of Meshery’s core functionality versus plugin functionality.\n    \n      Meshmap is an example of a feature to be delivered via Remote Provider.\n    \n  \n  Remote Providers should be able to offer custom RBAC, custom UI components, and custom backend components\n    \n      Dynamically loadable frameworks need to be identified or created to serve each of these purposes.\n    \n  \n\n\nDesign Principles: Meshery Remote Provider Framework\n\nMeshery’s Remote Provider extensbility framework is designed to enable:\n\n\n  \n    Pluggable UI Functionality:\n\n    \n      Out-of-tree custom UI components with seamless user experience.\n      A system of remote retrieval of extension packages (ReactJS components and Golang binaries).\n    \n  \n  \n    Pluggable Backend Functionality:\n\n    \n      Remote Providers have any number of capabilities unbeknownst to Meshery.\n    \n  \n  \n    Pluggable AuthZ\n    \n      Design an extensible role based access control system such that Remote Providers can determine their own set of controls. Remote Providers to return JWTs with custom roles, permission keys and permission keychains.\n    \n  \n\n\n\n\nWhat functionality do Providers perform?\n\nWhat a given Remote Provider offers might vary broadly between providers. Meshery offers extension points that Remote Providers are able to use to inject different functionality - functionality specific to that provider.\n\n\n  Authentication and Authorization\n    \n      Examples: session management, two factor authentication, LDAP integration.\n    \n  \n  Long-Term Persistence\n    \n      Examples: Storage and retrieval of performance test results.\n      Examples: Storage and retrieval of user preferences.\n    \n  \n  Enhanced Visualization\n    \n      Examples: Creation of a visual service mesh topology.\n      Examples: Different charts (metrics), debug (log viewer), distributed trace explorers.\n    \n  \n  Reporting\n    \n      Examples: Using Meshery’s GraphQL server to compose new dashboards.\n    \n  \n\n\nTypes of providers\n\nTwo types of providers are defined in Meshery: local and remote. The Local provider is built-into Meshery. Remote providers are may be implemented by anyone or organization that wishes to integrate with Meshery. Any number of Remote providers may be available in your Meshery deployment.\n\nRemote Providers\n\nUse of a Remote Provider, puts Meshery into multi-user mode and requires user authentication. Use a Remote provider when your use of Meshery is ongoing or used in a team environment (used by multiple people).\n\nName: “Meshery” (default)\n\n\n  Enforces user authentication.\n  Long-term term persistence of test results.\n  Save environment setup.\n  Retrieve performance test results.\n  Retrieve conformance test results.\n  Free to use.\n\n\nLocal Provider\n\nUse of the Local Provider, “None”, puts Meshery into single-user mode and does not require authentication. Use the Local provider when your use of Meshery is intended to be shortlived.\n\nName: “None”\n\n\n  No user authentication.\n  Container-local storage of test results. Ephemeral.\n  Environment setup not saved.\n  No performance test result history.\n  No conformance test result history.\n  Free to use.\n\n\nBuilding a Provider\n\nMeshery interfaces with Providers through a Go interface. The Provider implementations have to be placed in the code and compiled together today. A Provider instance will have to be injected into Meshery when the program starts.\n\nMeshery keeps the implementation of Remote Providers separate so that they are brought in through a separate process and injected into Meshery at runtime (OR) change the way the code works to make the Providers invoke Meshery.\n\nRemote Provider Extension Points\n\nInterwoven into Meshery’s web-based, user interface are a variety of extension points. Each extension point is carefully carved out to afford a seamless user experience. Each extension point is identified by a name and type. The following Meshery UI extension points are available:\n\n\n  \n    Name: “navigator”\nType: Menu Items\nDescription: This is supposed to be a full page extension which will get a dedicated endpoint in the meshery UI. And will be listed in the meshery UI’s navigator/sidebar. Menu items may refer to full page extensions.\n  \n  \n    Name: “user_prefs”\nType: Single Component\nDescription: This is supposed to be remote react components which will get placed in a pre-existing page and will not have a dedicated endpoint. As of now, the only place where this extension can be loaded is the “User Preference” section under meshery settings.\n  \n  \n    Name: “Account”\nType: Full Page\nDescription: Remote Reactjs components (or other) are placed in a pre-existing page and will have dedicated endpoint: /extension/account.\n  \n  \n    Name: /extension/&lt;your name here&gt;\nType: Full Page\nDescription: The Provider package is unzipped into Meshery server filesystem under /app/provider-pkg/&lt;package-name&gt;.\n  \n\n\nRemote Providers must fulfill the following endpoints:\n\n\n  /login - return valid token\n  /logout - invalidating token\n  /capabilities - return capabilities.json\n\n\nUI Extension Points\n\nAll UI extensions will be hosted under the endpoint &lt;mesheryserver:port/provider&gt;\n\nUserPrefs\n\nThe UserPrefs extension point expects and loads a component to be displayed into /userpreferences page.\n\nNavigator\n\nThe Navigator extension point loads a set of menu items to be displayed in the menu bar on the left hand side of the Meshery UI.\n\nCapabilities Endpoint Example\n\nMeshery Server will proxy all requests to remote provider endpoints. Endpoints are dynamically determined and identified in the “capabilities” section of the /capabilities endpoint. Providers as an object have the following attributes (this must be returned as a response to /capabilities endpoint):\n\n{\n  \"provider_type\": \"remote\",\n  \"package_version\": \"v0.1.0\",\n  \"package_url\": \"https://layer5labs.github.io/meshery-extensions-packages/provider.tar.gz\",\n  \"provider_name\": \"Meshery\",\n  \"provider_description\": [\n    \"Persistent sessions\",\n    \"Save environment setup\",\n    \"Retrieve performance test results\",\n    \"Free use\"\n  ],\n  \"extensions\": {\n    \"navigator\": [\n      {\n        \"title\": \"MeshMap\",\n        \"href\": {\n          \"uri\": \"/meshmap\",\n          \"external\": false\n        },\n        \"component\": \"provider/navigator/meshmap/index.js\",\n        \"icon\": \"provider/navigator/img/meshmap-icon.svg\",\n        \"link:\": true,\n        \"show\": true,\n        \"children\": [\n          {\n            \"title\": \"View: Single Mesh\",\n            \"href\": {\n              \"uri\": \"/meshmap/mesh/all\",\n              \"external\": false\n            },\n            \"component\": \"navigator/meshmap/index.js\",\n            \"icon\": \"navigator/img/singlemesh-icon.svg\",\n            \"link\": false,\n            \"show\": true\n          }\n        ]\n      }\n    ],\n    \"user_prefs\": [\n      {\n        \"component\": \"userprefs/meshmap-preferences.js\"\n      }\n    ]\n  },\n  \"capabilities\": [\n    { \"feature\": \"sync-prefs\", \"endpoint\": \"/user/preferences\" },\n    { \"feature\": \"persist-results\", \"endpoint\": \"/results\" },\n    { \"feature\": \"persist-result\", \"endpoint\": \"/result\" },\n    { \"feature\": \"persist-smi-results\", \"endpoint\": \"/smi/results\" },\n    { \"feature\": \"persist-metrics\", \"endpoint\": \"/result/metrics\" },\n    { \"feature\": \"persist-smp-test-profile\", \"endpoint\": \"/user/test-config\" }\n  ]\n}\n\n\nMeshery enables you as a service mesh owner to customize your service mesh deployment.\n\nConfigurable OAuth Callback URL\n\nAs of release v0.5.39, Meshery Server has extended its capability to configure the callback URL for connected Remote Providers. Helpful when you are deploying Meshery behind an ingress gateway or reverse proxy. You can specify a custom, redirect endpoints for the connected Remote Provider.\n\nExample Deployment Scenario: Meshery Cloud, Istio, and Azure Kubernetes Service\n\nUser has deployed the Meshery behind a Istio Ingress Gateway and the Istio is also behind an Application Gateway (e.g. AKS Application Gateway). Generally, when you use a GitHub Remote Provider for authentication, it redirect the request to the Istio Ingress Gateway FQDN. In this setup, redirection won’t be successful because the Ingress Gateway is behind an additional Application Gateway. In this case, you have to define where the request should be redirected once it is authenticated from GitHub.\n\nSolution:\n\nYou can define your custom callback URL by setting up MESHERY_SERVER_CALLBACK_URL env variable while installing meshery in your K8s cluster.\n\nExample:\n\nIf you are deploying Meshery using Helm, you can configure the MESHERY_SERVER_CALLBACK_URL as shown in the following example.\n\n\n  Custom URL: https://k8s-staging.test.io/\n  Auth Endpoint: api/user/token (append at the end of your custom URL)\n\n\nhelm install meshery meshery/meshery --namespace meshery --set env.MESHERY_SERVER_CALLBACK_URL=https://k8s-staging.test.io/api/user/token\n\n\nNote\n\nWith a path like, https://k8s-staging.test.io/meshery, your callback URL will be https://k8s-staging.test.io/meshery/api/user/token.\n\nManaging your Remote Provider Extension Code\n\nRemote Provider extensions are kept out-of-tree from Meshery (server and UI). You might need to build your extensions under the same environment and set of dependencies as Meshery. The Meshery framework of extensibility has been designed such that in-tree extensions can be safely avoided while still providing a robust platform from which to extend Meshery’s functionality. Often, herein lies the delineation of open vs. closed functionality within Meshery. Remote Providers can bring (plugin) what functionality that they want behind this extensible interface (more about Meshery extensibility), at least that is up to the point that Meshery has provided a way to plug that feature in.\n\nOffering out-of-tree support for Meshery extensions means that:\n\n\n  source code to your Meshery extensions are not required to be open source,\n  liability to Meshery’s stability is significantly reduced, avoiding potential bugs in extended components.\n\n\nThrough clearly defined extension points, Meshery extensions may be offered as closed source capabilities that plug into open source Meshery code. To facilitate integration of your Meshery extensions, you might automate the building and releasing of your separate, but interdependent code repositories. You will be responsible for sustaining both your ReactJS and Golang-based extensions."
					}




					,

					"es-extensibility-providers": {
						"id": "es-extensibility-providers",
						"title": "Extensibilidad: Proveedores",
						"categories": "",
						"url": " /es/extensibility/providers",
						"content": "Meshery ofrece a los proveedores como un punto de extensibilidad. Con un proveedor local integrado (llamado “None”), los proveedores remotos de Meshery están diseñados para ser conectables. Los proveedores remotos ofrecen puntos de extensión a los usuarios / integradores para ofrecer una funcionalidad mejorada, utilizando Meshery como plataforma.\n\n\n  Los puntos de extensibilidad ofrecen una separación clara de las capacidades de código abierto y cerrado.\n    \n      Meshmap es un ejemplo de una función que se entregará a través de un proveedor remoto.\n    \n  \n  Los Proveedores Remotos deben poder ofrecer RBAC personalizado, componentes de Interfaz de Usuario (UI) personalizados y componentes de backend personalizados\n    \n      Es necesario identificar o crear marcos cargables dinámicamente para cumplir con cada uno de estos propósitos.\n    \n  \n\n\nPrincipios de diseño: marco de proveedor remoto de Meshery\n\nEl marco de extensibilidad del proveedor remoto de Meshery está diseñado para permitir:\n\n\n  \n    Funcionalidad de interfaz de usuario conectable:\n\n    \n      Componentes de interfaz de usuario personalizados fuera del árbol con una experiencia de usuario perfecta.\n      Un sistema de recuperación remota de paquetes de extensión (componentes ReactJS y binarios Golang).\n    \n  \n  \n    Funcionalidad backend conectable:\n\n    \n      Los proveedores remotos tienen una cantidad de capacidades desconocidas para Meshery.\n    \n  \n  \n    AuthZ Conectable\n    \n      Diseñe un sistema de control de acceso extensible basado en roles de modo que los proveedores remotos puedan determinar su propio conjunto de controles. Proveedores remotos para devolver JWT con roles personalizados, claves de permisos y llaveros de permisos.\n    \n  \n\n\n\n\n¿Qué funcionalidad realizan los proveedores?\n\nLo que ofrece un proveedor remoto determinado puede variar ampliamente entre proveedores. Meshery ofrece puntos de extensión que los proveedores remotos pueden usar para inyectar diferentes funcionalidades, una funcionalidad específica para ese proveedor.\n\n\n  Autenticación and Autorización\n    \n      Ejemplos: gestión de sesiones, autenticación de dos factores, integración LDAP.\n    \n  \n  Persistencia a Largo Plazo\n    \n      Ejemplos: almacenamiento y recuperación de resultados de pruebas de rendimiento.\n      Ejemplos: almacenamiento y recuperación de las preferencias del usuario.\n    \n  \n  Visualización Mejorada\n    \n      Examples: Creation of a visual service mesh topology.\n      Examples: Different charts (metrics), debug (log viewer), distributed trace explorers.\n    \n  \n  Reporteo\n    \n      Ejemplos: usar el servidor GraphQL de Meshery para crear nuevos paneles.\n    \n  \n\n\nTypos of proveedores\n\nEn Meshery se definen dos tipos de proveedores: local y remoto. El proveedor local está integrado en Meshery. Los proveedores remotos pueden ser implementados por cualquier persona u organización que desee integrarse con Meshery. Cualquier número de proveedores remotos puede estar disponible en su implementación de Meshery.\n\nProveedores Remotos\n\nEl uso de un proveedor remoto pone a Meshery en modo multiusuario y requiere autenticación de usuario. Utilice un proveedor remoto cuando su uso de Meshery sea continuo o se utilice en un entorno de equipo (utilizado por varias personas).\n\nNombre: “Meshery” (default)\n\n\n  Refuerza la autenticación del usuario.\n  Persistencia a largo plazo de los resultados de las pruebas.\n  Guarde la configuración del entorno.\n  Recupere los resultados de las pruebas de rendimiento.\n  Recuperar los resultados de las pruebas de conformidad.\n  De uso gratuito.\n\n\nProveedor Local\n\nEl uso del proveedor local, “None”, pone a Meshery en modo de usuario único y no requiere autenticación. Utilice el proveedor local cuando su uso de Meshery esté destinado a ser de corta duración.\n\nNombre: “None”\n\n\n  Sin autenticación de usuario.\n  Almacenamiento en contenedor de los resultados de las pruebas. Efímero.\n  Configuración del entorno no guardada.\n  Sin historial de resultados de pruebas de rendimiento.\n  Sin historial de resultados de pruebas de conformidad.\n  De uso gratuito.\n\n\nConstruyendo un Proveedor\n\nMeshery interactúa con los proveedores a través de una interfaz Go. Las implementaciones del proveedor deben colocarse en el código y compilarse juntas hoy. Deberá inyectarse una instancia de proveedor en Meshery cuando se inicie el programa.\n\nMeshery mantiene la implementación de los proveedores remotos por separado para que se introduzcan a través de un proceso separado y se inyecten en Meshery en tiempo de ejecución (OR) y cambien la forma en que funciona el código para que los proveedores invoquen a Meshery.\n\nPuntos de extensión de proveedor remoto\n\nEntretejidos en la interfaz de usuario basada en web de Meshery hay una variedad de puntos de extensión. Cada punto de extensión está cuidadosamente diseñado para ofrecer una experiencia de usuario perfecta. Cada punto de extensión se identifica con un nombre y un tipo. Los siguientes puntos de extensión de la interfaz de usuario de Meshery están disponibles:\n\n\n  Nombre: navigator\nTipo: Elementos de Menú\nDescripción: Se supone que es una extensión de página completa que obtendrá un punto final dedicado en la interfaz de usuario de meshery. Y aparecerá en la barra lateral / navegador de la interfaz de usuario de Meshery. Los elementos del menú pueden referirse a extensiones de página completa.\n\n\nName: user_prefs\nType: Componente Único\nDescription: Se supone que son componentes de reacción remota que se colocarán en una página preexistente y no tendrán un punto final dedicado. A partir de ahora, el único lugar donde se puede cargar esta extensión es la sección “Preferencias del usuario” en la configuración de malla.\n\nName: /extension/\n**Type:** Página Completa\nDescription:\n\nEl paquete Provider se descomprime en el sistema de archivos del servidor Meshery en /app/provider-pkg/&lt;package-name&gt;.\n\nLos proveedores remotos deben cumplir con los siguientes puntos finales:\n\n\n  /login - regresa token válido\n  /logout - invalida el token\n  /capabilities - regresa capabilities.json\n\n\nPuntos de extensión de la interfaz de usuario\n\nTodas las extensiones de la interfaz de usuario se alojarán en el punto final. &lt;servidormeshery:puerto/proveedor&gt;\n\nUserPrefs\n\nEl punto de extensión UserPrefs espera y carga un componente para que se muestre en la página /userpreferences.\n\nNavigator\n\nEl punto de extensión Navigator carga un conjunto de elementos de menú que se mostrarán en la barra de menú en el lado izquierdo de la interfaz de usuario de Meshery.\n\nEjemplo de Punto Final de Capacidades\n\nMeshery Seerver enviará todas las solicitudes a los puntos finales del proveedor remoto. Los endpoints (puntos finales) se determinan e identifican dinámicamente en la sección “capacidades” del punto final /capabilities. Los proveedores como objeto tienen los siguientes atributos (esto debe devolverse como una respuesta al endpoint /capabilities):\n\n{\n  \"provider_type\": \"remote\",\n  \"package_version\": \"v0.1.0\",\n  \"package_url\": \"https://layer5labs.github.io/meshery-extensions-packages/provider.tar.gz\",\n  \"provider_name\": \"Meshery\",\n  \"provider_description\": [\n    \"Persistent sessions\",\n    \"Save environment setup\",\n    \"Retrieve performance test results\",\n    \"Free use\"\n  ],\n  \"extensions\": {\n    \"navigator\": [\n      {\n        \"title\": \"MeshMap\",\n        \"href\": {\n          \"uri\": \"/meshmap\",\n          \"external\": false\n        },\n        \"component\": \"provider/navigator/meshmap/index.js\",\n        \"icon\": \"provider/navigator/img/meshmap-icon.svg\",\n        \"link:\": true,\n        \"show\": true,\n        \"children\": [\n          {\n            \"title\": \"View: Single Mesh\",\n            \"href\": {\n              \"uri\": \"/meshmap/mesh/all\",\n              \"external\": false\n            },\n            \"component\": \"navigator/meshmap/index.js\",\n            \"icon\": \"navigator/img/singlemesh-icon.svg\",\n            \"link\": false,\n            \"show\": true\n          }\n        ]\n      }\n    ],\n    \"user_prefs\": [\n      {\n        \"component\": \"userprefs/meshmap-preferences.js\"\n      }\n    ]\n  },\n  \"capabilities\": [\n    { \"feature\": \"sync-prefs\", \"endpoint\": \"/user/preferences\" },\n    { \"feature\": \"persist-results\", \"endpoint\": \"/results\" },\n    { \"feature\": \"persist-result\", \"endpoint\": \"/result\" },\n    { \"feature\": \"persist-smi-results\", \"endpoint\": \"/smi/results\" },\n    { \"feature\": \"persist-metrics\", \"endpoint\": \"/result/metrics\" },\n    { \"feature\": \"persist-smp-test-profile\", \"endpoint\": \"/user/test-config\" }\n  ]\n}\n\n\nMeshery le permite, como propietario de la malla de servicios, personalizar la implementación de su malla de servicios.\n\nAdministrar su Código de Extensión de Proveedor Remoto\n\nLas extensiones de proveedor remoto se mantienen fuera del árbol de Meshery (servidor e interfaz de usuario). Es posible que deba crear sus extensiones en el mismo entorno y conjunto de dependencias que Meshery. El marco de extensibilidad de Meshery se ha diseñado de manera que las extensiones en el árbol se pueden evitar de forma segura y, al mismo tiempo, proporcionar una plataforma sólida desde la que extender la funcionalidad de Meshery. A menudo, aquí se encuentra la delimitación de la funcionalidad abierta frente a la cerrada dentro de Meshery. Los proveedores remotos pueden traer (complemento) qué funcionalidad desean detrás de esta interfaz extensible (más sobre la extensibilidad de Meshery), al menos hasta el punto en que Meshery ha proporcionado una forma de conectar esa característica.\n\nOfrecer soporte fuera del árbol para extensiones de Meshery significa que:\n\n\n  No es necesario que el código fuente de las extensiones de Meshery sea de código abierto,\n  La responsabilidad por la estabilidad de Meshery se reduce significativamente, evitando errores potenciales en componentes extendidos.\n\n\nA través de puntos de extensión claramente definidos, las extensiones de Meshery pueden ofrecerse como capacidades de código cerrado que se conectan al código de Meshery de código abierto. Para facilitar la integración de sus extensiones de Meshery, puede automatizar la construcción y liberación de sus repositorios de código separados pero interdependientes. Usted será responsable de mantener sus extensiones basadas en ReactJS y Golang."
					}




					,

					"installation-quick-start": {
						"id": "installation-quick-start",
						"title": "Quick Start Guide",
						"categories": "",
						"url": " /installation/quick-start",
						"content": "Getting Meshery up and running locally on a Docker-enabled system or in Kubernetes is easy. Meshery deploys as a set of Docker containers, which can be deployed to either a Docker host or Kubernetes cluster. See the complete list of its supported platforms.\n\nInstall Meshery\n\nUse the Meshery command line interface, mesheryctl, to install and start Meshery. Begin with Meshery by installing its command line client: mesheryctl. If you are on a MacOS or Linux system, you can download, install, and run to the management plane with the command shown in the figure.\n\nInstall on Kubernetes\n\n\n \n    curl -L https://meshery.io/install | PLATFORM=kubernetes bash - \n \n  \n            curl -L https://meshery.io/install | PLATFORM=kubernetes bash -\n            \n            Successfully installed meshery\n  \n  \n \n\n\nInstall on Docker\n\n\n \n curl -L https://meshery.io/install | PLATFORM=docker bash -  \n \n \n            curl -L https://meshery.io/install | PLATFORM=docker bash -\n            \n            Successfully installed meshery\n  \n \n \n\n\nInstall using Docker extension for Meshery\n\n\n \n docker extension install meshery/docker-extension-meshery \n \n \n            docker extension install meshery/docker-extension-meshery\n            \n            Successfully installed meshery\n  \n \n \n\nDownload, install, and run Meshery in a single command. See all installation methods.\n\nAccess Meshery\n\nVisit Meshery’s web-based user interface http://&lt;hostname&gt;:9081. When Meshery is installed on a Docker host, your default browser will be opened and navigated to http://localhost:9081.\n\nSelect a Provider\n\nSelect from the list of Providers in order to login to Meshery. Authenticate with your chosen your Provider.\n\n\n  \n\n\nConfigure Connection to Kubernetes\n\nMeshery attempts to auto detect your kubeconfig if it is stored in the default path ($HOME/.kube) on your system. In most deployments, Meshery will automatically connect to your Kubernetes cluster. Ensure that Meshery is connected to your Kubernetes cluster.\n\nVisit  Settings:\n\n\n  \n  \n\nIf your config has not been auto-detected, you may manually locate and upload your kube config file and select the context name (docker-desktop, kind-clsuter, minikube etc.)\n\nVerify Meshery’s Deployment\n\nRun connectivity tests and verify the health of your Meshery system. Verify Meshery’s connection to Kubernetes by clicking on your configuration context name. You will be notified of your connection status. You can also verify a successful connection between Meshery and its adapters by clicking on any of the available Adapter Ports.\n\n\n\n\n\nOperate service meshes and their workloads\n\nYou may now proceed to install and work with any service mesh supported by Meshery.\n\n\n  \n Your browser does not support the video tag\n\n\nAdditional Guides\n\n\n    \n        Troubleshooting Meshery Installations\n        Meshery Error Code Reference\n        Mesheryctl system check"
					}




					,

					"project-releases": {
						"id": "project-releases",
						"title": "Releases",
						"categories": "",
						"url": " /project/releases",
						"content": "See also Meshery’s Compatibility Matrix and Build and Release process.\n\n\n Version  Date \n\n\n    \n    \n         v0.6.0 \n         August 24, 2022 \n    \n\n    \n    \n         v0.6.0-rc.6fe \n         August 23, 2022 \n    \n\n    \n    \n         v0.6.0-rc.6fd \n         August 12, 2022 \n    \n\n    \n    \n         v0.6.0-rc.6fc \n         August 06, 2022 \n    \n\n    \n    \n         v0.6.0-rc.6fb \n         August 06, 2022 \n    \n\n    \n    \n         v0.6.0-rc.6fa \n         August 05, 2022 \n    \n\n    \n    \n         v0.6.0-rc.6f \n         July 29, 2022 \n    \n\n    \n    \n         v0.6.0-rc.6e \n         July 29, 2022 \n    \n\n    \n    \n         v0.6.0-rc.6d \n         July 28, 2022 \n    \n\n    \n    \n         v0.6.0-rc.6c \n         July 20, 2022 \n    \n\n    \n    \n         v0.6.0-rc.6b \n         July 07, 2022 \n    \n\n    \n    \n         v0.6.0-rc.6a \n         July 04, 2022 \n    \n\n    \n    \n         v0.6.0-rc.6 \n         June 26, 2022 \n    \n\n    \n    \n         v0.6.0-rc.5aa \n         June 25, 2022 \n    \n\n    \n    \n         v0.6.0-rc.5z \n         June 18, 2022 \n    \n\n    \n    \n         v0.6.0-rc.5y \n         June 17, 2022 \n    \n\n    \n    \n         v0.6.0-rc.5x \n         June 16, 2022 \n    \n\n    \n    \n         v0.6.0-rc.5w \n         June 11, 2022 \n    \n\n    \n    \n         v0.6.0-rc.5v \n         June 10, 2022 \n    \n\n    \n    \n         v0.6.0-rc.5u \n         June 09, 2022 \n    \n\n    \n    \n         v0.6.0-rc-5t \n         June 08, 2022 \n    \n\n    \n    \n         v0.6.0-rc.5t \n         June 07, 2022 \n    \n\n    \n    \n         v0.6.0-rc.5s \n         June 07, 2022 \n    \n\n    \n    \n         v0.6.0-rc.5r \n         May 13, 2022 \n    \n\n    \n    \n         v0.6.0-rc.5q \n         May 09, 2022 \n    \n\n    \n    \n         v0.6.0-rc.5p \n         April 21, 2022 \n    \n\n    \n    \n         v0.6.0-rc.5o \n         April 20, 2022 \n    \n\n    \n    \n         v0.6.0-rc.5n \n         April 20, 2022 \n    \n\n    \n    \n         v0.6.0-rc.5m \n         April 15, 2022 \n    \n\n    \n    \n         v0.6.0-rc.5l \n         April 11, 2022 \n    \n\n    \n    \n         v0.6.0-rc.5k \n         April 08, 2022 \n    \n\n    \n    \n         v0.6.0-rc-5j \n         April 04, 2022 \n    \n\n    \n    \n         v0.6.0-rc-5i \n         April 02, 2022 \n    \n\n    \n    \n         v0.6.0-rc-5h \n         March 28, 2022 \n    \n\n    \n    \n         v0.6.0-rc-5g \n         March 28, 2022 \n    \n\n    \n    \n         v0.5.0-rc-5g \n         March 27, 2022 \n    \n\n    \n    \n         v0.6.0-rc-5f \n         March 22, 2022 \n    \n\n    \n    \n         v0.6.0-rc-5d \n         March 21, 2022 \n    \n\n    \n    \n         v0.6.0-rc-5c \n         March 21, 2022 \n    \n\n    \n    \n         v0.6.0-rc-5b \n         March 05, 2022 \n    \n\n    \n    \n         v0.6.0-rc-5a \n         February 18, 2022 \n    \n\n    \n    \n         v0.6.0-rc-5 \n         February 11, 2022 \n    \n\n    \n    \n         v0.6.0-rc-4 \n         January 17, 2022 \n    \n\n    \n    \n         v0.6.0-rc-3 \n         December 31, 2021 \n    \n\n    \n    \n         v0.6.0-rc-2 \n         December 06, 2021 \n    \n\n    \n    \n         v0.6.0-rc-1 \n         November 26, 2021 \n    \n\n    \n    \n         v0.5.72 \n         November 14, 2021 \n    \n\n    \n    \n         v0.5.71 \n         November 05, 2021 \n    \n\n    \n    \n         v0.5.70 \n         November 03, 2021 \n    \n\n    \n    \n         v0.5.69 \n         November 03, 2021 \n    \n\n    \n    \n         v0.5.68 \n         November 02, 2021 \n    \n\n    \n    \n         v0.5.67 \n         October 19, 2021 \n    \n\n    \n    \n         v0.5.66 \n         October 08, 2021 \n    \n\n    \n    \n         v0.5.65 \n         October 08, 2021 \n    \n\n    \n    \n         v0.5.64-rc-2 \n         October 08, 2021 \n    \n\n    \n    \n         v0.5.64 \n         October 06, 2021 \n    \n\n    \n    \n         v0.5.63-rc-1 \n         October 04, 2021 \n    \n\n    \n    \n         v0.5.62 \n         September 29, 2021 \n    \n\n    \n    \n         v0.5.61 \n         September 28, 2021 \n    \n\n    \n    \n         v0.5.60 \n         September 26, 2021 \n    \n\n    \n    \n         v0.5.59 \n         September 26, 2021 \n    \n\n    \n    \n         v0.5.58 \n         September 17, 2021 \n    \n\n    \n    \n         v0.5.57 \n         September 13, 2021 \n    \n\n    \n    \n         v0.5.56 \n         September 09, 2021 \n    \n\n    \n    \n         v0.5.55 \n         September 09, 2021 \n    \n\n    \n    \n         v0.5.54 \n         September 08, 2021 \n    \n\n    \n    \n         v0.5.53 \n         September 07, 2021 \n    \n\n    \n    \n         v0.5.52 \n         August 30, 2021 \n    \n\n    \n    \n         v0.5.51 \n         August 29, 2021 \n    \n\n    \n    \n         v0.5.50 \n         August 28, 2021 \n    \n\n    \n    \n         v0.5.49 \n         August 19, 2021 \n    \n\n    \n    \n         v0.5.48 \n         August 18, 2021 \n    \n\n    \n    \n         v0.5.47 \n         August 16, 2021 \n    \n\n    \n    \n         v0.5.46 \n         August 13, 2021 \n    \n\n    \n    \n         v0.5.45 \n         August 10, 2021 \n    \n\n    \n    \n         v0.5.44 \n         August 09, 2021 \n    \n\n    \n    \n         v0.5.43 \n         August 07, 2021 \n    \n\n    \n    \n         v0.5.42 \n         August 04, 2021 \n    \n\n    \n    \n         v0.5.41 \n         July 28, 2021 \n    \n\n    \n    \n         v0.5.40 \n         July 27, 2021 \n    \n\n    \n    \n         v0.5.39 \n         July 25, 2021 \n    \n\n    \n    \n         v0.5.38 \n         July 14, 2021 \n    \n\n    \n    \n         v0.5.37 \n         July 14, 2021 \n    \n\n    \n    \n         v0.5.36 \n         July 11, 2021 \n    \n\n    \n    \n         v0.5.35 \n         July 10, 2021 \n    \n\n    \n    \n         v0.5.34 \n         July 10, 2021 \n    \n\n    \n    \n         v0.5.33 \n         July 10, 2021 \n    \n\n    \n    \n         v0.5.32 \n         July 09, 2021 \n    \n\n    \n    \n         v0.5.31 \n         July 05, 2021 \n    \n\n    \n    \n         v0.5.30 \n         July 02, 2021 \n    \n\n    \n    \n         v0.5.29 \n         June 30, 2021 \n    \n\n    \n    \n         v0.5.28 \n         June 30, 2021 \n    \n\n    \n    \n         v0.5.27 \n         June 30, 2021 \n    \n\n    \n    \n         v0.5.26 \n         June 24, 2021 \n    \n\n    \n    \n         v0.5.25 \n         June 21, 2021 \n    \n\n    \n    \n         v0.5.24 \n         June 18, 2021 \n    \n\n    \n    \n         v0.5.23 \n         June 10, 2021 \n    \n\n    \n    \n         v0.5.22 \n         June 10, 2021 \n    \n\n    \n    \n         v0.5.21 \n         June 10, 2021 \n    \n\n    \n    \n         v0.5.20 \n         June 09, 2021 \n    \n\n    \n    \n         v0.5.19 \n         June 06, 2021 \n    \n\n    \n    \n         v0.5.18 \n         June 03, 2021 \n    \n\n    \n    \n         v0.5.17 \n         May 29, 2021 \n    \n\n    \n    \n         v0.5.16 \n         May 29, 2021 \n    \n\n    \n    \n         v0.5.15 \n         May 25, 2021 \n    \n\n    \n    \n         v0.5.14 \n         May 20, 2021 \n    \n\n    \n    \n         v0.5.13 \n         May 17, 2021 \n    \n\n    \n    \n         v0.5.12 \n         May 12, 2021 \n    \n\n    \n    \n         v0.5.11 \n         May 07, 2021 \n    \n\n    \n    \n         v0.5.9 \n         May 03, 2021 \n    \n\n    \n    \n         v0.5.10 \n         May 03, 2021 \n    \n\n    \n    \n         v0.5.8 \n         May 02, 2021 \n    \n\n    \n    \n         v0.5.7 \n         May 02, 2021 \n    \n\n    \n    \n         v0.5.6 \n         May 02, 2021 \n    \n\n    \n    \n         v0.5.5 \n         April 29, 2021 \n    \n\n    \n    \n         v0.5.4 \n         April 29, 2021 \n    \n\n    \n    \n         v0.5.3 \n         April 28, 2021 \n    \n\n    \n    \n         v0.5.2 \n         April 08, 2021 \n    \n\n    \n    \n         v0.5.1 \n         April 03, 2021 \n    \n\n    \n    \n         v0.5.0 \n         March 24, 2021 \n    \n\n    \n    \n         v0.5.0-rc-6 \n         March 17, 2021 \n    \n\n    \n    \n         v0.5.0-rc-5 \n         March 10, 2021 \n    \n\n    \n    \n         v0.5.0-rc-4 \n         February 25, 2021 \n    \n\n    \n    \n         v0.5.0-rc-3 \n         February 23, 2021 \n    \n\n    \n    \n         v0.5.0-rc-2 \n         February 22, 2021 \n    \n\n    \n    \n         v0.5.0-rc-1 \n         February 22, 2021 \n    \n\n    \n    \n         v0.5.0-beta-4 \n         February 22, 2021 \n    \n\n    \n    \n         v0.5.0-beta-3 \n         February 21, 2021 \n    \n\n    \n    \n         v0.5.0-beta-2 \n         February 08, 2021 \n    \n\n    \n    \n         v0.5.0-beta-1 \n         January 26, 2021 \n    \n\n    \n    \n         v0.4.27 \n         December 11, 2020 \n    \n\n    \n    \n         v0.4.26 \n         December 10, 2020 \n    \n\n    \n    \n         v0.4.25 \n         November 29, 2020 \n    \n\n    \n    \n         v0.4.24 \n         November 24, 2020 \n    \n\n    \n    \n         v0.4.23 \n         November 19, 2020 \n    \n\n    \n    \n         v0.4.22 \n         November 12, 2020 \n    \n\n    \n    \n         v0.4.21 \n         November 12, 2020 \n    \n\n    \n    \n         v0.4.20 \n         November 12, 2020 \n    \n\n    \n    \n         v0.4.19 \n         November 10, 2020 \n    \n\n    \n    \n         v0.4.13 \n         November 10, 2020 \n    \n\n    \n    \n         v0.4.18 \n         November 08, 2020 \n    \n\n    \n    \n         v0.4.17 \n         October 29, 2020 \n    \n\n    \n    \n         v0.4.16 \n         October 28, 2020 \n    \n\n    \n    \n         v0.4.15 \n         October 23, 2020 \n    \n\n    \n    \n         v0.4.14 \n         October 20, 2020 \n    \n\n    \n    \n         v0.4.12 \n         October 08, 2020 \n    \n\n    \n    \n         v0.4.11 \n         October 05, 2020 \n    \n\n    \n    \n         v0.4.10 \n         October 03, 2020 \n    \n\n    \n    \n         v0.4.9 \n         September 30, 2020 \n    \n\n    \n    \n         v0.4.8 \n         September 28, 2020 \n    \n\n    \n    \n         v0.4.7 \n         September 25, 2020 \n    \n\n    \n    \n         v0.4.6 \n         September 03, 2020 \n    \n\n    \n    \n         v0.4.5 \n         September 02, 2020 \n    \n\n    \n    \n         v0.4.4 \n         August 27, 2020 \n    \n\n    \n    \n         v0.4.3 \n         August 22, 2020 \n    \n\n    \n    \n         v0.4.2 \n         August 17, 2020 \n    \n\n    \n    \n         v0.4.1 \n         August 08, 2020 \n    \n\n    \n    \n         v0.4.0-beta.4 \n         July 09, 2020 \n    \n\n    \n    \n         v0.4.0-beta.3 \n         July 08, 2020 \n    \n\n    \n    \n         v0.4.0-beta.2 \n         July 08, 2020 \n    \n\n    \n    \n         v0.4.0-beta.1 \n         July 06, 2020 \n    \n\n    \n    \n         v0.3.19 \n         July 05, 2020 \n    \n\n    \n    \n         v0.3.18 \n         July 04, 2020 \n    \n\n    \n    \n         v0.3.16 \n         June 22, 2020 \n    \n\n    \n    \n         v0.3.15 \n         May 04, 2020 \n    \n\n    \n    \n         v0.3.14 \n         April 24, 2020 \n    \n\n    \n    \n         v0.3.13 \n         April 16, 2020 \n    \n\n    \n    \n         v0.3.12 \n         April 10, 2020 \n    \n\n    \n    \n         v0.3.11 \n         March 11, 2020 \n    \n\n    \n    \n         v0.3.10 \n         March 09, 2020 \n    \n\n    \n    \n         v0.3.9 \n         February 02, 2020 \n    \n\n    \n    \n         v0.3.8 \n         January 17, 2020 \n    \n\n    \n    \n         v0.3.7 \n         January 15, 2020 \n    \n\n    \n    \n         v0.3.6 \n         January 14, 2020 \n    \n\n    \n    \n         v0.3.5 \n         January 13, 2020 \n    \n\n    \n    \n         v0.3.17 \n         January 07, 2020 \n    \n\n    \n    \n         v0.3.4 \n         December 30, 2019 \n    \n\n    \n    \n         v0.3.3 \n         December 21, 2019 \n    \n\n    \n    \n         v0.3.2 \n         November 30, 2019 \n    \n\n    \n    \n         v0.3.1 \n         November 13, 2019 \n    \n\n    \n    \n         v0.2.4 \n         November 07, 2019 \n    \n\n    \n    \n         v0.2.3 \n         November 05, 2019 \n    \n\n    \n    \n         v0.2.2 \n         October 26, 2019 \n    \n\n    \n    \n         v0.2.1 \n         October 24, 2019 \n    \n\n    \n    \n         v0.2.1 \n         October 23, 2019 \n    \n\n    \n    \n         v0.1.6 \n         October 14, 2019 \n    \n\n    \n    \n         v0.1.5 \n         September 20, 2019 \n    \n\n    \n    \n         v0.1.4 \n         July 27, 2019 \n    \n\n    \n    \n         v0.1.3 \n         July 01, 2019 \n    \n\n    \n    \n         v0.1.2 \n         June 20, 2019 \n    \n\n    \n    \n         v0.1.1 \n         June 12, 2019 \n    \n\n    \n    \n         v0.1.0 \n         May 29, 2019 \n    \n\n    \n    \n         v0.0.9 \n         May 15, 2019 \n    \n\n    \n    \n         v0.0.8 \n         May 01, 2019 \n    \n\n    \n    \n         v0.0.7 \n         April 29, 2019 \n    \n\n    \n    \n         v0.0.6 \n         April 20, 2019 \n    \n\n    \n    \n         v0.0.5 \n         April 12, 2019 \n    \n\n    \n    \n         v0.0.4 \n         April 07, 2019 \n    \n\n    \n    \n         v0.0.3 \n         March 30, 2019 \n    \n\n    \n    \n         v0.0.2 \n         March 20, 2019 \n    \n\n    \n    \n         v0.0.1 \n         March 07, 2019"
					}




					,

					"es-project-releases": {
						"id": "es-project-releases",
						"title": "Lanzamientos",
						"categories": "",
						"url": " /es/project/releases",
						"content": "Lanzamientos de Meshery\n\nv0.4.4\n\nLanzado el 27 de agosto de 2020\n\n¿Qué hay de nuevo?\n\n\n  \n    Características\n\n    \n      Timeout agregado en golang-ci lint\n      Movido a Gorilla/mux para el enrutamiento del servidor\n      Migrado a golangci-lint\n      Interfaz del generador de carga nighthawk inicializada\n    \n  \n  \n    Mantenimiento\n\n    \n      Se actualizó la rama meshmap a la última versión en la rama master\n      Título de la página en negrita\n      Se movió meshery adapter para osm\n    \n  \n  \n    Documentación\n\n    \n      Se agregaron notas RVM adicionales para usuarios de Windows\n      Se agregó captura de pantalla y descripción de SMI\n      Añadida la versión actual de osm\n    \n  \n  \n    Corrección de bugs\n    \n      Detección automática de la configuración de kube\n      Se corrigió la barra social del pie de página\n    \n  \n\n\nv0.4.3\n\nLanzado el 22 de agosto de 2020\n\n¿Qué hay de nuevo?\n\n\n  \n    Características\n\n    \n      Utiliza Open Service Mesh en lugar de osm\n      Menú desplegable de uso del campo de duración + texto en la preferencia de rendimiento\n      Se agregaron “tooltips” para los elementos del menú de navegación en el estado minimizado\n      Botón de calendario comunitario agregado\n    \n  \n  \n    Documentación\n\n    \n      Páginas de documentos arregladas\n      README.md actualizado\n      Se agregó el enlace de la guía de bienvenida y el enlace para los principiantes\n      Se agregó “Open Service Mesh” al menú de navegación en los documentos de Meshery\n    \n  \n  \n    Corrección de bugs\n    \n      smi-conformance: se agregaron dos puntos al principio\n      Se agregó la fila inferior que faltaba\n    \n  \n\n\nv0.4.2\n\nLanzado el 17 de agosto de 2020\n\n¿Qué hay de nuevo?\n\n\n  \n    Características\n\n    \n      Actualizar las operaciones CRUD en la configuración de prueba\n      Corrección de la “snackbar” no deseada en la pestaña de preferencias perf\n      Agregar validación para el protocolo en URL\n      Inicializar el adaptador OSM para Meshery\n      Agregar un nuevo comando “restart” a mesheryctl\n    \n  \n  \n    Mantenimiento\n\n    \n      Reparar el “ci” roto para pruebas de interfaz de usuario\n      Optimizar imágenes\n      Quitar el paso redundante de “docker push”\n    \n  \n  \n    Documentación\n\n    \n      Quitar enlaces rotos de la tabla de plataformas compatibles\n      Quitar ejemplo de salida de “brew upgrade mesheryctl”\n      Crear archivo smi-conformance-capability.md\n      Reparar los enlaces rotos del sitio de documentación\n      Reparar el enlace roto a SMP en release.md\n      Actualizar el adaptador Meshery Kuma a beta\n      Actualizar los documentos del adaptador\n      Agregar logotipos a la carpeta “assets”\n      Agregar Open Service Mesh a la lista\n      Corregir error tipográfico en la descripción del Adaptador App Mesh\n    \n  \n  \n    Corrección de bugs\n    \n      Crear/Quitar/Leer en perfiles de prueba de usuario\n      Corrección para la página de resultados\n      Arreglar el archivo de configuración de releaseDrafter\n    \n  \n\n\nv0.4.1\n\nLanzado el 8 de agosto de 2020\n\n¿Qué hay de nuevo?\n\n\n  Documentación\n    \n      Correcciones de “typos” y errores\n    \n  \n\n\nv0.4.0-beta.4\n\nLanzado el 9 de julio de 2020\n\n¿Qué hay de nuevo?\n\n\n  Corrección de bugs\n    \n      hotfix: No se puede crear la página de configuración de Meshery\n    \n  \n\n\nv0.4.0-beta.3\n\nLanzado el 8 de julio de 2020\n\n¿Qué hay de nuevo?\n\n\n  Corrección de bugs\n    \n      Hotfix del error introducido en la versión v0.4.0-beta.2\n    \n  \n\n\nv0.4.0-beta.2\n\nLanzado el 8 de julio de 2020\n\n¿Qué hay de nuevo?\n\n\n  Meshery\n    \n      Se agregó el archivo kubeconfig inicial.\n    \n  \n  Mesheryctl\n    \n      Se quitó el error fatal debido a que faltaba meshery.yaml.\n    \n  \n  Documentación\n    \n      Logotipo del adaptador Kuma actualizado en Meshery Docs.\n      Se agregaron puertos de red a la tabla de adaptadores.\n      Captura de pantalla de proveedores agregada.\n      Se agregaron todas las plataformas compatibles a la lista.\n      Se agregó Nighthawk como generador de carga.\n      Se arregló el enlace roto en la página de EKS.\n    \n  \n\n\nv0.3.19\n\nLanzado el 7 de julio de 2020\n\n¿Qué hay de nuevo?\n\n\n  Mesheryctl\n    \n      Se corrigió un error importante por no inicializar la carpeta de la aplicación (~/meshery) y el archivo de configuración de la aplicación (meshery.yaml).\n    \n  \n\n\nv0.4.0-beta.1\n\nLanzado el 5 de julio de 2020\n\n¿Qué hay de nuevo?\n\n\n  Meshery\n    \n      Etiqueta “stable-latest” para el nuevo canal de lanzamiento.\n    \n  \n\n\nv0.3.18\n\nLanzado el 4 de julio de 2020\n\n¿Qué hay de nuevo?\n\n\n  Mesheryctl\n    \n      mesheryctl version ahora obtiene la información de la versión del servidor, incluida la etiqueta de lanzamiento y git sha.\n      meshery perf ahora soporta SPMS como un paquete a través del indicador --file.\n    \n  \n  Meshery\n    \n      Mejora de la extensibilidad: ahora se proporciona una interfaz abstracta, Load Generator Interface, para facilitar la extensión de Meshery para admitir otros generadores de carga, como Nighthawk.\n    \n  \n  Documentos\n    \n      instrucciones de EKS y GKE mejoradas\n    \n  \n\n\nv0.3.17\n\nLanzado el 1 de julio de 2020\n\n¿Qué hay de nuevo?\n\n\n  Meshery\n    \n      Característica: Se estableció un nuevo canal de lanzamiento “stable”.\n      Característica: Experiencia de usuario mejorada para encabezados HTTP de prueba de rendimiento avanzado.\n    \n  \n\n\nv0.3.16\n\nLanzado el 22 de junio de 2020\n\n¿Qué hay de nuevo?\n\n\n  Mesheryctl\n    \n      Característica: Se agregó mesheryctl system como el nuevo comando para la gestión del ciclo de vida de Meshery.\n        \n          Todos los comandos de gestión del ciclo de vida de Meshery como start, stop, reset, logs, y así, ahora se encuentran en system.\n        \n      \n      Característica: Se agregó mesheryctl system config como un nuevo subcomando para ayudar a configurar Meshery para comunicarse con las instancias levantadas de Kubernetes en GKE, AKS y EKS.\n    \n  \n\n\nv0.3.15\n\nLanzado el 1 de mayo de 2020\n\n¿Qué hay de nuevo?\n\n\n  Mesheryctl\n    \n      Característica: Se agregó la funcionalidad de mesheryctl perf --file &lt;smp.yaml&gt; para perfiles de prueba de rendimiento con formato SMP.\n      Característica: Cambio de comportamiento mesheryctl perf para usar tokens y admitir JWT.\n    \n  \n\n\nv0.3.14\n\n¿Qué hay de nuevo?\n\n\n  Mesheryctl\n    \n      Cambio de comportamiento en mesheryctl start para buscar nuevas imágenes del servidor Meshery por defecto.\n    \n  \n\n\nv0.3.13\n\n¿Qué hay de nuevo?\n\n\n  Mesheryctl\n    \n      “Point release” para el soporte ARM inicial de mesheryctl.\n    \n  \n\n\nv0.3.12\n\n¿Qué hay de nuevo?\n\n\n  Mesheryctl\n    \n      “Scoop Bucket” y “Scoop package” iniciales para mesheryctl.\n    \n  \n\n\nv0.3.11\n\n¿Qué hay de nuevo?\n\n\n  Mesheryctl\n    \n      Soluciona problemas menores de la experiencia del usuario en el comando mesheryctl perf. Consulta Comandos CLI de Meshery y Documentación como referencia.\n    \n  \n\n\nv0.3.10\n\n¿Qué hay de nuevo?\n\n\n  Mesheryctl\n    \n      Introduce el comando mesheryctl perf. Consulta Comandos CLI de Meshery y Documentación como referencia.\n    \n  \n\n\nv0.3.9\n\n¿Qué hay de nuevo?\n\n\n  Mesheryctl\n    \n      Se agregó mesheryctl version para proporcionar el número de versión del lado del servidor.\n      Mejora de mesheryctl logs | stop | start para proporcionar la gramática adecuada en situaciones en las que Meshery está detenido o Docker no está presente.\n    \n  \n  Servidor Meshery\n    \n      Se quitó la información superflua más allá de la dirección IP y el puerto en los “endpoints” de Grafana y Prometheus (#612)\n    \n  \n\n\nv0.3.8\n\n¿Qué hay de nuevo?\n\n\n  Mesheryctl\n    \n      Se quitó la salida de línea de comando extraña. En esta versión se mejora la claridad de la interacción CLI con mesheryctl.\n    \n  \n\n\nv0.3.7\n\n¿Qué hay de nuevo?\n\n\n  Servidor Meshery\n    \n      Ahora se admiten pruebas de conectividad ad-hoc para Prometheus. Los usuarios pueden hacer clic en el chip Prometheus y hacer que Meshery verifique su capacidad para conectarse a la instancia de Prometheus configurada.\n    \n  \n\n\nv0.3.6\n\n¿Qué hay de nuevo?\n\n\n  Mesheryctl\n    \n      Ahora se admiten pruebas de conectividad ad-hoc para Grafana. Los usuarios pueden hacer clic en el chip Grafana y hacer que Meshery verifique su capacidad para conectarse a la instancia de Grafana configurada.\n    \n  \n\n\nv0.3.5\n\n¿Qué hay de nuevo?\n\n\n  Mesheryctl\n    \n      Se quitó init como comando expuesto a los usuarios. La funcionalidad de este comando se usa internamente para mesheryctl start. Un nuevo comando start --check proporcionará la funcionalidad de verificación previa en el lugar de init.\n    \n  \n\n\nv0.3.4\n\n¿Qué hay de nuevo?\n\n\n  Mesheryctl\n    \n      mesheryctl version ahora se ha mejorado con la novedad de mostrar el git commit (sha) de la versión mesheryctl.\n    \n  \n\n\nv0.3.3\n\n¿Qué hay de nuevo?\n\n\n  Servidor Meshery\n    \n      Providers: una nueva construcción de proyecto que permite a los usuarios seleccionar el proveedor de autenticación, almacenamiento a largo plazo, etc.\n    \n  \n\n\nv0.3.2\n\n¿Qué hay de nuevo?\n\n\n  Mesheryctl\n    \n      Se agregó mesheryctl version como un nuevo subcomando.\n    \n  \n\n\nv0.3.1\n\n¿Qué hay de nuevo?\n\n\n  Servidor Meshery\n    \n      Soporte para wrk2 como generador de carga alternativo.\n    \n  \n\n\nv0.2.4\n\n¿Qué hay de nuevo?\n\n\n  Mesheryctl\n    \n      Soporte de Homebrew disponible para mesheryctl.\n    \n  \n  Servidor Meshery\n    \n      Adaptador Meshery para Octarine lanzado como estable.\n    \n  \n  Documentación\n    \n      Guía de inicio rápido revisada para Mac, Linux y Windows.\n      Soporte WSL2 publicado.\n      El script de generación de kubeconfig GKE cambió a --decode.\n    \n  \n\n\nv0.2.3\n\n¿Qué hay de nuevo?\n\n\n  Mesheryctl\n    \n      Salida mejorada del comando status en Windows.\n    \n  \n  Servidor Meshery\n    \n      Posibilidad de hacer “deploy” de Meshery en Istio.\n      “Adapter Chips”: Mover el número de puerto del adaptador al tooltip.\n    \n  \n\n\nv0.2.2\n\n¿Qué hay de nuevo?\n\n\n  Mesheryctl\n    \n      Comando update mejorado, sin sobrescribir en la configuración local mientras se ejecuta el comando start.\n    \n  \n  Meshery UI\n    \n      Una nueva vista modal para organizar y mostrar los resultados de rendimiento en formato tabular.\n    \n  \n\n\nv0.2.1\n\n¿Qué hay de nuevo?\n\n\n  Mesheryctl\n    \n      Revisión de la configuración de Kubernetes dentro del clúster y fuera del clúster.\n    \n  \n\n\nv0.2.0\n\n¿Qué hay de nuevo?\n\n\n  Adaptadores Meshery\n    \n      Adaptador introducido para Network Service Mesh.\n    \n  \n  Servidor Meshery\n    \n      Capacidad para ejecutar pruebas de rendimiento de forma asincrónica.\n      Recopila y conserva métricas de nodos.\n    \n  \n\n\nv0.1.6\n\n¿Qué hay de nuevo?\n\n\n  \n    Registro de cambios\n  \n  Nueva interfaz de usuario para administrar la conexión de Meshery al clúster de Kubernetes.\n  Nueva compatibilidad de mesheryctl para Windows para abrir el navegador predeterminado al iniciar.\n  Nueva aplicación de muestra agregada al adaptador istio: aplicación Hipster (aplicación de demostración de microservicios de Google).\n\n\nv0.1.5\n\n¿Qué hay de nuevo?\n\n\n  Registro de cambios\n  \n    Mejoras de UX\n  \n  mesheryctl start ahora espera a que los contenedores de la aplicación Meshery estén activos antes de iniciar el navegador del usuario.\n  mesheryctl stop ahora muestra el progreso del comando similar a la experiencia cuando se usa el script bash meshery.\n\n\nv0.1.4\n\n¿Qué hay de nuevo?\n\n\n  Registro de cambios\n\n\nv0.1.3\n\n¿Qué hay de nuevo?\n\n\n  Migrar desde Configurar Meshery a la página Configuración.\n\n\nv0.1.2\n\n¿Qué hay de nuevo?\n\n\n  \n    Sincronización del almacenamiento local del navegador\n  \n  \n    Almacenamiento de sesiones en memoria de Meshery.\n  \n\n\nv0.1.1\n\n¿Qué hay de nuevo?\n\n\n  Parche para el bug Alpine.\n\n\nv0.1.0\n\nWhat’s new\n\n\n  Istio inicial completamente funcional.\n\n\nv0.0.9\n\n¿Qué hay de nuevo?\n\n\n  \n    Sitio de documentación segregado\n  \n  \n    contenido presentado.\n  \n\n\nv0.0.8\n\n¿Qué hay de nuevo?\n\n\n  \n    Posibilidad de importar json del board de Grafana\n  \n  \n    Integración con Prometheus directamente para métricas.\n  \n\n\nv0.0.7\n\n¿Qué hay de nuevo?\n\n\n  \n    Migrado lejos de los gráficos de iframe incrustados de grafana\n  \n  Ahora usando Chartjs para gráficos.\n  Ahora usando C3 para gráficos.\n\n\nv0.0.6\n\n¿Qué hay de nuevo?\n\n\n  \n    Adaptador pre-alfa de Consul.\n  \n  Soporte para implementar el adaptador SMI Istio.\n  Asegurar la compatibilidad para aplicar los manifiestos SMI a través de Meshery.\n\n\nv0.0.5\n\n¿Qué hay de nuevo?\n\n\n  \n    Adaptador Linkerd pre-alpha.\n  \n  \n    Capacidad para filtrar resultados.\n  \n\n\nv0.0.4\n\n¿Qué hay de nuevo?\n-Posibilidad de ver resultados persistentes.\n\n\n  Integración y soporte para gráficos Grafana.\n  Embedding panels in iframe.\n\n\nv0.0.3\n\n¿Qué hay de nuevo?\n\n\n  \n    Versión inicial con soporte de adaptadores Meshery.\n  \n  \n    Lanzamiento de una versión pre-alfa del adaptador Istio.\n  \n\n\nv0.0.2\n\n¿Qué hay de nuevo?\n\n\n  Capacidad para admitir la ejecución de yaml personalizado en Kubernetes con Istio.\n\n\nv0.0.1\n\nNew release\n\n\n  Versión inicial de Meshery\n    \n      Conectar a Kubernetes.\n      Ejecutar comandos preconfigurados en Kubernetes con Istio."
					}




					,

					"reference-rest-apis": {
						"id": "reference-rest-apis",
						"title": "REST API Reference",
						"categories": "",
						"url": " /reference/rest-apis",
						"content": "Self-generated documentation based on Meshery’s Open API specification for it’s REST API.  Meshery’s REST API can be explored interactively using the Swagger UI Playground.\n\nEndpoints"
					}




					,

					"guides-mesheryctl-running-system-checks-using-mesheryctl": {
						"id": "guides-mesheryctl-running-system-checks-using-mesheryctl",
						"title": "Running system checks using Meshery CLI",
						"categories": "",
						"url": " /guides/mesheryctl/running-system-checks-using-mesheryctl",
						"content": "Meshery’s CLI, mesheryctl, includes commands for verifying system readiness for a Meshery deployment and health checks to confirm the health of an existing Meshery deployment. Whether you have yet to deploy Meshery or have already deployed Meshery, mesheryctl system check is a useful utility to ensure that your Meshery deployments are healthy.\n\n\n\nmesheryctl system check\n\n\n\n\n\n\nVerify environment pre/post-deployment of Meshery.\n\nUsage:\n  mesheryctl system check [flags]\n\nFlags:\n      --adapter     Check status of Meshery adapters\n  -h, --help        help for check\n      --operator    Check status of Meshery operators\n      --pre         Verify environment readiness to deploy Meshery\n      --preflight   Verify environment readiness to deploy Meshery\n\nGlobal Flags:\n      --config string    path to config file (default \"/Users/navendu/.meshery/config.yaml\")\n  -c, --context string   (optional) temporarily change the current context.\n  -v, --verbose          verbose output\n  -y, --yes              (optional) assume yes for user interactive prompts.\n\n\n\n\nDeployment checks\n\nmesheryctl system check command can run two types of system checks. A pre-deployment check which verifies the environment to deploy Meshery and a post-deployment check which runs validation checks on a running Meshery deployment.\n\nPre-deployment checks\n\nPre-deployment checks runs checks on the environment and verifies whether it is ready for deploying Meshery.\n\nThe following checks are done here:\n\n\n  Docker health checks: Checks for the availability of Docker and docker-compose in the user’s machine\n  Kubernetes health checks: Checks for the availability of a Kubernetes cluster and checks if Meshery can initialize a Kubernetes client\n  Kubernetes version checks: Checks if kubectl and the Kubernetes version are higher than the minimum supported versions\n\n\nPre-deployment checks are run with the --preflight flag as shown below:\n\n\n\nmesheryctl system check --preflight\n\n\n\n\nPost-deployment checks\n\nPost-deployment checks are run after deploying Meshery in the user’s environment. These checks ensure that the running deployment of Meshery and Meshery adapters are working as expected.\n\nIn addition to the pre-flight checks, the following checks are also run in this check:\n\n\n  Meshery version checks: Checks the version of Meshery server and CLI and shows if a new version is available\n  Meshery Adapter health checks: Checks if all the specified adapters are deployed and reachable\n\n\nPost-deployment checks are run as shown below:\n\n\n\nmesheryctl system check\n\n\n\n\nAdditional checks\n\nTo check the status of the deployed adapters only, users can leverage the --adapter flag as shown below:\n\n\n\nmesheryctl system check --adapter\n\n\n\n\nUsers can also narrow down the tests to just check the status of the Meshery operator deployed on their Kubernetes cluster:\n\n\n\nmesheryctl system check --operator\n\n\n\n\nFAQ\n\nQuestion: While running mesheryctl system check --preflight it says I didn’t install Kubernetes, but I have Docker installed and the test returned “Meshery prerequisites met”. Is that all good?\nAnswer: Yes, as long as you’ve Docker installed, it’s fine to run Meshery. But you will need a Kubernetes cluster to handle tasks such as deploying service mesh and so on, if you want to do them via Meshery.\n\nQuestion: I ran a preflight check to see if I satisfy all requirements for Meshery in my system. It returned postive results but I couldn’t start Meshery. What to do?\nAnswer: Make sure if you’ve configured your system to run Meshery in smooth manner. For configuration, do check out the docs site and this page to see instructions related to the platform you use.\n\nQuestion: Do I need a Kubernetes cluster or will a Docker host suffice for Meshery deployments?\nAnswer: Meshery’s performance management functionality does not require a Kubernetes cluster. The rest of Meshery’s functionality (e.g. cloud native management) does require a Kubernetes cluster.\n\nQuestion: What are Meshery’s production deployment requirements?\nAnswer: One or more Kubernetes clusters. A stateful set for Meshery Server in order to persist performance test results. See #2451.\n\nQuestion: For system checks, do I need any add-ons to pass the check?\nAnswer: Not necessary. Basic requirements are enough to pass the check.\n\nQuestion: The Adapter check is failing, it returns “Auth token not found”.\nAnswer: You can log in to Meshery using mesheryctl system login which would generate an OAuth token. Once the OAuth token is generated, the check will start to function\n\nQuestion: I have a Kubernetes cluster enabled but Meshery couldn’t reach the cluster and the checks are failing! What to do?\nAnswer: To resolve this error, you can upload your kubeconfig file in the Meshery UI under settings and Meshery will reconfigure to use your Kubernetes cluster.\n\nQuestion: Under Meshery Version test, I’m getting an error like “CLI is not up-to-date”. Should I update mesheryctl often?\nAnswer: Yes! You should update the mesheryctl often in order to run Meshery smoothly. The reason behind it is because not only the CLI is updated, but also the Meshery app. So it is advisable to update Meshery often.\n\nQuestion: Is it advisable to keep Meshery in sleep mode while running system checks?\nAnswer: Not necessary. It is good to keep Meshery up and running, else the system checks will fail to detect the Meshery version.\n\nQuestion: What is the minimum version of k8s cluster and kubectl required to run Meshery?\nAnswer: For Kubernetes, version &gt;=1.12.0 is recommended. For kubectl version &gt;=1.12 is recommended.\n\nQuestion: In the “Meshery Adapter” section of check, I could see only some service mesh adapters up and running and not all. Is this fine?\nAnswer: Not a problem, if you feel you need to have all mesh adapters to be up running, you can do so by creating a new context mesheryctl system context create [context-name] --set (if you voluntarily deleted mesh adapters in your current context)\n\nQuestion: I started Meshery fresh, didn’t change any of the details in the context I have. But I see that all adapter checks are failing. What to do?\nAnswer: Configure Meshery to use on your Kubernetes cluster, then upload the kubeconfig file via Meshery UI to notify Meshery to use that cluster. If that didn’t work, feel free to open up an issue in GitHub.\n\nSuggested Reading\n\nFor an exhaustive list of mesheryctl commands and syntax:\n\n\n  See mesheryctl Command Reference.\n\n\nGuides to using Meshery’s various features and components.\n\n\n  \n  \n\nUpgrading mesheryctl"
					}




					,

					"guides-troubleshooting-running": {
						"id": "guides-troubleshooting-running",
						"title": "Troubleshooting Errors while running Meshery",
						"categories": "",
						"url": " /guides/troubleshooting/running",
						"content": "mesheryctl system start\nError:\nmesheryctl system start : : cannot start Meshery: rendered manifests contain a resource that already exists. \nUnable to continue with install: ServiceAccount \"meshery-operator\" in namespace \"meshery\" exists and cannot \nbe imported into the current release: invalid ownership metadata; label validation error: missing key \n\"app.kubernetes.io/managed-by\": must be set to \"Helm\"; annotation validation error: missing key \n\"meta.helm.sh/release-name\": must be set to \"meshery\"; annotation validation error: missing key \n\"meta.helm.sh/release-namespace\": must be set to \"meshery\"\n\n\n(Fix) Clean the cluster using :\n\n \nkubectl delete ns meshery\nkubectl delete clusterroles.rbac.authorization.k8s.io meshery-controller-role meshery-operator-role meshery-proxy-role meshery-metrics-reader\nkubectl delete clusterrolebindings.rbac.authorization.k8s.io meshery-controller-rolebinding meshery-operator-rolebinding meshery-proxy-rolebinding\n \n \nIssue Reference : https://github.com/meshery/meshery/issues/4578\n\nmake server\nError:\nFATA[0000] constraints not implemented on sqlite, consider using DisableForeignKeyConstraintWhenMigrating, more details https://github.com/go-gorm/gorm/wiki/GORM-V2-Release-Note-Draft#all-new-migrator \nexit status 1\nmake: *** [Makefile:76: server] Error 1\n\n\nFix:\n\n  Flush the  database by deleting the .meshery/config\n  make server\n\n\nSee Also\n\n\n  Error Code Reference"
					}




					,

					"es-guides-sample-apps": {
						"id": "es-guides-sample-apps",
						"title": "Implementación de aplicaciones de muestra",
						"categories": "",
						"url": " /es/guides/sample-apps",
						"content": "Las aplicaciones de muestra se utilizan para interactuar y ejemplificar las características de su malla de servicios. A menudo son una colección de microservicios que el usuario puede usar como un área de juegos de prueba para experimentar y aprender sobre la malla de servicios y su exhaustivo conjunto de características.\nAntes de implementar una aplicación de muestra sobre su malla de servicios, la aplicación debe estar expuesta y permitir el acceso externo a los servicios disponibles en un clúster. Hay una gran variedad de formas de hacer esto, específicas para la malla de servicios que está utilizando.\n\nUna forma popular de exponer su clúster es usar Ingress, un objeto API que define reglas que permiten el acceso externo a los servicios en un clúster.\n\n\n  Configure Ingress\n  Configure Ingress en Minikube\n\n\nDespliegue una aplicación de muestra en Meshery\n\n\n  \n    Vaya a la página de administración de cualquier malla de servicio e instale cualquiera de sus versiones estables.\n\n  \n  \n    Pulse (+) en Manage Sample Application Lifecycle. Ahora podrá ver un menú desplegable con las aplicaciones de muestra disponibles.\n\n  \n  \n    Haga clic en la aplicación de muestra que desea implementar. Esto puede tardar hasta un minuto. Se le notificará cuando se haya implementado la aplicación de muestra\n\n  \n\n\nBookInfo\n\nOriginalmente creado por Istio, BookInfo es una aplicación de muestra que, al implementarse, muestra información sobre un libro, similar a una entrada de catálogo única de una librería en línea. En la página se muestra una descripción del libro, los detalles del libro (ISBN, número de páginas, etc.) y algunas reseñas de libros. La aplicación consta de cuatro microservicios:\n\n\n  productpage: El microservicio productpage llama los detalles y revisa los microservicios para popular la página.\n  details: El microservicio details contiene información de libros.\n  reviews: El microservicio reviews contiene revisiones de libros. También llama las el microservicio de calificaciones (ratings).\n  ratings: El microservicio ratings contiene información del ranqueo de los libros que acompaña la revisión de los libros.\n\n\nOncUna vez que BookInfo es deplegado, usted puede usar Meshery para aplicar configuraciones personalizadas al control de tráfico, inyectar latencia, llevar a cabo routeo basado en contexto, etcétera.\n\n\n\nEmojivoto\n\nEmojivoto es una aplicación de microservicios, originalmente construida por Linkerd que permite a los usuarios votar por su emoji favorito, y monitorea los votos recividos en el tablero de clasificación. La aplicación se compone de tres microservicios:\n\n\n  emojivoto-web: Web frontend y REST API\n  emojivoto-emoji-svc: API gRPC para la búsqueda y listado de emoji\n  emojivoto-voting-svc: API gRPC para el voto y el tablero de clasificación\n\n\n\n\nImageHub\n\nImage Hub es una aplicación de muestra para explorar los módulos de WebAssembly que se utilizan como filtros de Envoy. La aplicación se escribió originalmente para ejecutarse en Consul. Sin embargo, no depende de Consul y se puede implementar en cualquier malla de servicios. Estos módulos se pueden utilizar para implementar la tenencia múltiple o para implementar la limitación de la tasa de usuario en los puntos finales de su aplicación, sin interferir con la infraestructura de su aplicación.\nSiga este tutorial para configurar ImageHub con Ingress\n\n\n\nHTTPBin\n\nHttpBin es un servicio de solicitud y respuesta HTTP simple que responde a muchos tipos de solicitudes http / https, incluidos los métodos de solicitud http estándar (o verbos) utilizados por REST.\n\n\n\nLinkerd Books\n\nLinkerd Books es una aplicación de muestra basada en Ruby. Está diseñado para demostrar las diversas propuestas de valor, incluida la depuración, la observabilidad y el monitoreo de su malla de servicios. Puede usarse para determinar la eficiencia de su malla y para depurar.\n\n\n\nOnline Boutique\n\nOnline Boutique es una aplicación nativa de la nube de muestra, originalmente creada por Google. Se compone de 10 microservicios y se puede utilizar para mostrar y trabajar con Kubernetes, Istio, gRPC y OpenCensus. En la implementación, ejecuta una aplicación de demostración de comercio electrónico basada en la web, un ejemplo de la cual se puede ver a continuación:"
					}




					,

					"assets-css-sass-css": {
						"id": "assets-css-sass-css",
						"title": "",
						"categories": "",
						"url": " /assets/css/sass.css",
						"content": "@charset \"UTF-8\";\n.l5-dark-yellow { background-color: #ebc017 !important; }\n\n.l5-dark-yellow-text { color: #ebc017 !important; }\n\n.l5-light-yellow { background-color: #e9c46a !important; }\n.l5-light-yellow .l5-light-yellow-text { color: #e9c46a !important; }\n.l5-light-yellow table.adapters { box-shadow: 1px 1px 2px grey; border: 1px; }\n.l5-light-yellow table.adapters td { width: auto; vertical-align: middle; border: 1px solid darkgray; }\n.l5-light-yellow table.adapters td.no-adapters { width: auto; text-align: center; color: #aaa; font-style: italic; }\n.l5-light-yellow table.adapters td.alpha-adapters { width: auto; background-color: lightgray; text-align: center; }\n.l5-light-yellow table.adapters td.beta-adapters { width: auto; background-color: #00D3A9; text-align: center; color: #fff; }\n.l5-light-yellow table.adapters td.stable-adapters { width: auto; background-color: #3C494F; text-align: center; color: #fff; }\n.l5-light-yellow table.adapters tr:hover { background-color: #f5f5f5; }\n.l5-light-yellow table.adapters img.adapter-logo { vertical-align: middle; margin-right: 5px; height: 30px; width: 30px; }\n\npre.codeblock-pre { display: inline-flex; justify-content: left; text-align: left; align-items: left; align-content: left; flex-wrap: nowrap; flex-direction: row; background-color: #111; margin: 0; padding: 10px; border-radius: 0.3rem; width: 100%; }\n\n.codeblock { width: 100%; display: inline-flex; overflow: auto; justify-content: left; color: #ddd; margin: 0px; padding: 0px; }\n\n.clipboardjs { display: inline-flex; align-self: flex-end; justify-content: left; width: 100%; overflow-x: auto; padding: 0px; margin: 0px; }\n\n.btn-copy-wrap { align-content: flex-end; z-index: 9; position: relative; }\n\n.clipbtn { position: absolute; top: -35px; right: 0; margin: 5px; border: 0px; background-color: transparent; color: #ccc; font-size: 1.2rem; }\n\n.clipbtn:hover { color: #fff; cursor: pointer; }\n\n/***** OVERVIEW ********/\n/*button style*/\ndiv.overview { display: flex; text-align: center; /* position:relative;float:left; */ /* background-color:#ebc017; */ background: #3c494f; background: linear-gradient(337deg, #3c494f 0%, rgba(0, 179, 159, 0.8617822129) 87%); color: #fff; font-size: 1.25rem; padding: 1rem; margin: .25rem; width: auto; min-width: 300px; overflow-wrap: break-word; border-radius: 1rem; justify-content: space-evenly; align-content: stretch; }\n\nh3[id]:before { display: block; content: \" \"; margin-top: -4em; height: 5.5rem; visibility: hidden; }\n\nh2[id]:before, h4[id]:before, h5[id]:before { display: block; content: \" \"; margin-top: -4em; height: 6rem; visibility: hidden; }\n\ndiv.wrapper { width: 100%; text-align: justify; display: flex; -ms-flex-align: center; justify-content: space-evenly; align-content: stretch; margin: auto; }\n\ndiv.section { flex-basis: 47.5%; }\n\ndiv.overview:hover { background: linear-gradient(337deg, #3c494f 0%, rgba(0, 179, 159, 0.8617822129) 73%); color: #eee; }\n\n@media (max-width: 900px) { div.wrapper { display: block; }\n  div.overview { margin-left: 20%; margin-right: 20%; overflow-x: hidden; } }\n@media (max-width: 62rem) { div.wrapper { display: block; }\n  div.overview { margin-left: 0px; margin-right: 20%; overflow-x: hidden; } }\n/*image align-right*/\n.image-right { float: right; padding-right: 10px; }\n\n/* COMMAND REFERENCE */\ntable.mesherycomponents th { background-color: #3C494F; color: white; }\ntable.mesherycomponents td.childcomponent { color: white; background-color: #477E96; }\n\n.cmd-caption { margin-bottom: 2rem; }\n\n/* INSTALLATION */\ndiv.prereqs { background-color: #3C494F; color: #ddd; margin: 20px; padding: 15px; border-radius: 0.3rem; }\n\na.meshery-light { color: #00b39f; }\n\ndiv .td-sidebar__search { padding-top: 2.5rem; }\n\nmain nav .breadcrumb { padding-top: 1.5rem; }\n\ndiv .td-toc { padding-top: 2rem; }\n\n@media (min-width: 768px) { .td-navbar { position: fixed; top: 0; width: 100%; padding-top: 1.35rem; padding-bottom: 1.35rem; } }\n@media (min-width: 768px) { .td-sidebar-nav { max-height: -webkit-calc(100vh - 11.5rem); max-height: calc(100vh - 11.5rem); overflow-y: auto; } }\n.swagger-path { font-weight: bolder; font-size: 19.2px; margin: 0 0 30px 0; font-family: open sans, -apple-system, BlinkMacSystemFont, segoe ui, Roboto, helvetica neue, Arial, sans-serif, apple color emoji, segoe ui emoji, segoe ui symbol; }\n\n.swagger-method { align-self: center; border-radius: 5px; margin: 0 0 5px 0; }\n\n.swagger-method-title { padding: 8px 5px 5px 5px; font-size: 16px; margin: 0; cursor: pointer; }\n\n.swagger-method-description { padding: 3px 5px 5px 5px; font-size: 16px; margin: 0; }\n\n.swagger-method-link:hover { text-decoration: none; }\n\n.swagger-method-name { font-weight: bolder; padding: 6px 0; display: inline-block; width: 80px; text-align: center; color: white; margin-right: 10px; }\n\n.swagger-method-get { border: 1px solid #4fc49d; }\n.swagger-method-get .swagger-method-title { background: #c2eadd; }\n.swagger-method-get .swagger-method-link { color: #2b8265; }\n.swagger-method-get .swagger-method-name { background: #4fc49d; }\n\n.swagger-method-post { border: 1px solid #87adb6; }\n.swagger-method-post .swagger-method-title { background: #e6eef0; }\n.swagger-method-post .swagger-method-link { color: #517c86; }\n.swagger-method-post .swagger-method-name { background: #87adb6; }\n\n.swagger-method-put { border: 1px solid #1eaaaf; }\n.swagger-method-put .swagger-method-title { background: #7de5e9; }\n.swagger-method-put .swagger-method-link { color: #0f5558; }\n.swagger-method-put .swagger-method-name { background: #1eaaaf; }\n\n.swagger-method-patch { border: 1px solid #36bea1; }\n.swagger-method-patch .swagger-method-title { background: #a7e6d9; }\n.swagger-method-patch .swagger-method-link { color: #1f6f5e; }\n.swagger-method-patch .swagger-method-name { background: #36bea1; }\n\n.swagger-method-delete { border: 1px solid #e27a7a; }\n.swagger-method-delete .swagger-method-title { background: #fdf8f8; }\n.swagger-method-delete .swagger-method-link { color: #ca2c2c; }\n.swagger-method-delete .swagger-method-name { background: #e27a7a; }\n\n.swagger-method-details { padding: 20px; display: none; }\n.swagger-method-details.open { display: block; }\n\n.swagger-response { font-size: 16px; font-weight: bolder; }\n.swagger-response h5 { margin: 10px 0 10px 0; }\n\n.swagger-response-code { font-weight: bolder; font-size: 16px; margin: 2px 0 2px 0; }\n.swagger-response-code:after { content: \" — \"; }\n\n.swagger-parameters-table { border-spacing: 0px; border-collapse: collapse; margin-bottom: 30px; width: 100%; display: table-header-group; font-size: 0.9rem; }\n.swagger-parameters-table th, .swagger-parameters-table td { border: 1px solid #dbdbdb; padding: 4px 10px; text-align: center; font-size: 0.9rem; }\n.swagger-parameters-table th { background: #f7f7f7; }\n\n.swagger-parameter-required:after { content: \" *\"; color: red; }"
					}




					,

					"installation-platforms-scoop": {
						"id": "installation-platforms-scoop",
						"title": "Scoop",
						"categories": "",
						"url": " /installation/platforms/scoop",
						"content": "Quick Start with Scoop \n\nPrerequisites  \n\n1. Install the Meshery command line client, \n\n    mesheryctl\n.\n\n\nmesheryctl can be installed via Scoop (a package manager for Windows, just like apt for Ubuntu). mesheryctl is also available through Homebrew.\n\nPrerequisites\n\nYou need to have scoop installed on your Windows system to perform these actions.\n\nInstall\n\nTo install mesheryctl using Scoop, execute the following commands.\n\n\n\nscoop bucket add mesheryctl https://github.com/layer5io/scoop-bucket.git\nscoop install mesheryctl\n\n\n\n\nYou’re ready to run Meshery. To do so, execute the following command.\n\n\n\nmesheryctl system start\n\n\n\n\nUpgrade\n\nTo upgrade mesheryctl, just execute the following command.\n\n\n\nscoop update mesheryctl"
					}








					,

					"project-security-vulnerabilities": {
						"id": "project-security-vulnerabilities",
						"title": "Security Vulnerabilities",
						"categories": "",
						"url": " /project/security-vulnerabilities",
						"content": "## Reporting a vulnerability\n\nWe are very grateful to the security researchers and users that report\nback Meshery security vulnerabilities. We investigate every report thoroughly.\n\nTo make a report, send an email to the private\n[security@meshery.dev](mailto:security@meshery.dev)\nmailing list with the vulnerability details. For normal product bugs\nunrelated to latent security vulnerabilities, please head to\nthe appropriate repository and submit a [new issue](https://github.com/meshery/meshery/issues/new/choose).\n\n### When to report a security vulnerability?\n\nSend us a report whenever you:\n\n- Think Meshery has a potential security vulnerability.\n- Are unsure whether or how a vulnerability affects Meshery.\n- Think a vulnerability is present in another project that Meshery\ndepends on (Docker for example).\n\n### When not to report a security vulnerability?\n\nDon't send a vulnerability report if:\n\n- You need help tuning Meshery components for security.\n- You need help applying security related updates.\n- Your issue is not security related.\n\nInstead, join the community [Slack](https://slack.layer5.io/) and ask questions.\n\n### Evaluation\n\nThe Meshery team acknowledges and analyzes each vulnerability report within 10 working days.\n\nAny vulnerability information you share with the Meshery team stays\nwithin the Meshery project. We don't disseminate the information to other\nprojects. We only share the information as needed to fix the issue.\n\nWe keep the reporter updated as the status of the security issue is addressed.\n\n### Fixing the issue\n\nOnce a security vulnerability has been fully characterized, a fix is developed by the Meshery team.\nThe development and testing for the fix happens in a private GitHub repository in order to prevent\npremature disclosure of the vulnerability.\n\n### Early disclosures\n\nThe Meshery project maintains a mailing list for private early disclosure of security vulnerabilities. \nThe list is used to provide actionable information to close Meshery partners. The list is not intended \nfor individuals to find out about security issues.\n\n### Public disclosures\n\nOn the day chosen for public disclosure, a sequence of activities takes place as quickly as possible:\n\n- Changes are merged from the private GitHub repository holding the fix into the appropriate set of public\nbranches.\n\n- Meshery team ensures all necessary binaries are promptly built and published.\n\n- Once the binaries are available, an announcement is sent out on the following channels:\n  - The [Meshery blog](https://meshery.io/blog/)\n  - The [Meshery Twitter feed](https://twitter.com/mesheryio)\n  - The [#announcements](https://layer5io.slack.com/archives/CSF3PSZT9) channel on community [Slack](https://slack.layer5.io/)\n\nAs much as possible this announcement will be actionable, and include any mitigating steps customers can take prior to upgrading to a fixed version.\n\n## List of Announced Vulnerabilities\n\n\n\n\n   DATE ANNOUNCED \n   CVE ID \n   DESCRIPTION \n   AFFECTED COMPONENT \n   VULNERABLE VERSION \n   PATCHED VERSION \n   FIX DETAILS \n   LINKS \n\n{% assign vulns = site.data.vulnerabilities.announce | sort: \"Date-Announced\" | reverse %}\n\n{% for vuln in vulns %}\n\n\n   {{vuln.DateAnnounced}} \n   {{vuln.CVE}} \n   {{vuln.Description}} \n   {{vuln.AffectedComponent}} \n   {{vuln.VulnerableVersion}} \n   {{vuln.PatchedVersion}} \n   {{vuln.FixDetails}} \n   {{vuln.Links}} \n\n\n{% endfor %}"
					}




					,

					"es-project-security-vulnerabilities": {
						"id": "es-project-security-vulnerabilities",
						"title": "Vulnerabilidades de seguridad",
						"categories": "",
						"url": " /es/project/security-vulnerabilities",
						"content": "# Informar una vulnerabilidad\r\n\r\nEstamos muy agradecidos con quienes investigan temas de seguridad y quienes informan\r\nsobre las vulnerabilidades de seguridad de Meshery. Investigamos cada informe a fondo.\r\n\r\nPara realizar un informe, envía un correo electrónico\r\na la lista de correo privada [meshery-security-vulns-reports@layer5.io](mailto:meshery-security-vulns-reports@layer5.io) con los detalles de la vulnerabilidad.\r\nPara los bugs normales del producto que no están relacionados con vulnerabilidades de seguridad latentes, diríjete al repositorio correspondiente\r\ny envía un [nuevo issue](https://github.com/meshery/meshery/issues/new/choose).\r\n\r\n### ¿Cuándo informar una vulnerabilidad de seguridad?\r\n\r\nEnvíanos un informe siempre que:\r\n\r\n- Creas que Meshery tiene una vulnerabilidad de seguridad potencial.\r\n- No estás seguro de cómo una vulnerabilidad afecta a Meshery.\r\n- Creas que una vulnerabilidad está presente en otro proyecto que Meshery\r\n  depende de (Docker, por ejemplo).\r\n\r\n### ¿Cuándo no informar una vulnerabilidad de seguridad?\r\n\r\nNo envíes un informe de vulnerabilidad si:\r\n\r\n- Necesitas ayuda para ajustar los componentes de Meshery para la seguridad.\r\n- Necesitas ayuda para aplicar actualizaciones relacionadas con la seguridad.\r\n- Tu problema no está relacionado con la seguridad.\r\n\r\n## Evaluación\r\n\r\nEl equipo de Meshery reconoce y analiza cada informe de vulnerabilidad dentro de los 10 días hábiles.\r\n\r\nCualquier información de vulnerabilidad que compartas con el equipo de Meshery permanece\r\ndentro del proyecto Meshery. No divulgamos la información a otros\r\nproyectos. Solo compartimos la información necesaria para solucionar el problema.\r\n\r\nMantenemos al informante actualizado a medida que se aborda el estado del problema de seguridad.\r\n\r\n## Arreglando el problema\r\n\r\nUna vez que se ha distinguido por completo una vulnerabilidad de seguridad, el equipo de Meshery desarrolla una solución.\r\nEl desarrollo y la prueba de la solución se realizan en un repositorio privado de GitHub para evitar\r\ndivulgación prematura de la vulnerabilidad.\r\n\r\n## Divulgación temprana\r\n\r\nEl proyecto Meshery mantiene una lista de correo para la divulgación temprana privada de vulnerabilidades de seguridad.\r\nLa lista se utiliza para proporcionar información procesable para socios cercanos de Meshery. La lista no está destinada\r\npara que las personas se enteren de los problemas de seguridad.\r\n\r\n## Divulgación pública\r\n\r\nEl día elegido para la divulgación pública, se lleva a cabo una secuencia de actividades lo más rápido posible:\r\n\r\n- Los cambios se combinan, desde el repositorio privado de GitHub que contiene la corrección, en el conjunto apropiado de ramas públicas.\r\n\r\n- El equipo de Meshery se asegura de que todos los binarios necesarios se creen y se publiquen rápidamente.\r\n\r\n- Una vez que los binarios están disponibles, se envía un anuncio en los siguientes canales:\r\n\r\n  - El [Blog de Meshery](https://meshery.io/blog/)\r\n  - El [Feed del Twitter de Meshery](https://twitter.com/mesheryio)\r\n  - El canal de #announcements en Slack\r\n\r\nEn la medida de lo posible, este anuncio será procesable e incluirá cualquier medida de mitigación que los clientes puedan tomar antes de\r\nactualizar a una versión fija."
					}




					,

					"functionality-service-mesh-interface": {
						"id": "functionality-service-mesh-interface",
						"title": "Meshery and Service Mesh Interface (SMI)",
						"categories": "",
						"url": " /functionality/service-mesh-interface",
						"content": "{% include alert.html type=\"info\" title=\"Validating SMI Conformance with Meshery\" content=\"Meshery is SMI's \nofficial tool for validating conformance. The SMI Conformance dashboard displays the current and historical test results of each of the service mesh projects.\" %}\n\nAs service mesh providers and the surrounding ecosystem start adopting Service Mesh Interface, there is a growing need for validating the SMI implementation.\n\nAs a service mesh agnostic tool that provides lifecycle and performance management of a large number of service meshes, sample applications, service mesh patterns and WebAssembly filters, Meshery is the ideal tool for the job when it comes to SMI Conformance.\n\n## Defining Conformance\n\nConformance of SMI specifications is defined as a series of test assertions. A test assertion is a condition that must be positively verified in order for an implementation to be considered conformant. A test assertion may involve any number of conditions. Sets of test assertions are categorized by SMI specification. Collectively, these test sets comprise the complete suite of SMI conformance tests. Just like SMI itself, the suite of SMI Conformance tests is versioned, and with each new version of SMI, as interfaces are added and specifications changed, the Conformance requirements will change as appropriate.\n\n## Validating Conformance\n\nConformance validation is performed through automated provisioning of individual service meshes, deployment of a common workload, and generation of service request load as necessary. To facilitate a common set of tests, a simple, instrumented, sample application has been developed for purposes of providing a consistent workload to apply SMI specs against. Deployment of the sample application has been fitted to each service mesh.\n\n## Capability\n\nGiven that some service mesh implementations, never intend to fully implement the SMI specifications, for each individual test, three possible capability designations exist\n\n- Full - service mesh has this capability.\n\n- Partial - service mesh has a portion of this capability implemented (may or may not have this full capability in the future).\n\n- None - currently service mesh does not have this capability (may or may not have this capability in the future).\n\n## Steps in Running Conformance Tests\n\nThe following list highlights the sequence of steps taken to perform conformance testing of one type of service mesh.\n\n* Preconditions\n   * A given service mesh’s ability to adhere to the SMI specification is validated by running a workload on top of the service mesh.\n   * Workload deployments are configured specific to the onboarding requirements of the given service mesh.\n   * Tests are defined to validate conformance for each type of SMI specification (e.g. metrics, access, traffic… ).\n* Invocation\n   * Test assertions are defined in a workload-specific way and deployed with the workloads being tested (test assertions are packaged).\n   * A test result is collected with the evaluation of each assertion. Future: Test results will be individually streamed to Meshery after each assertion is evaluated.\n   * Once all assertions are evaluated, test results are returned for visual presentation in Meshery.\n   * Tests that are run by the service mesh project team are identified by a pre-approved service account and are publicly published the SMI Conformance dashboard.\n\n\n## Reporting Conformance\n\nEach of the participating service mesh projects can leverage the [Meshery SMI Conformance GitHub action](https://github.com/layer5io/meshery-smi-conformance-action) to incorporate SMI conformance into their CI/CD pipelines.\n\nThe conformance tool will run the test suite and automatically update the conformance dashboard when the test is complete. In order to ensure provenance of test results that represent a given service mesh, each project will be asked to identify one or more GitHub accounts that will be used for publishing the tests. \n\nIdeally, this GitHub account is a service-robot account used within the project’s CI pipeline.\n\nThe [SMI Conformance dashboard](https://meshery.io/service-mesh-interface) displays the current and historical test results of each of the service mesh projects. These results are automatically updated through the projects official accounts as mentioned above."
					}




					,

					"sitemap-xml": {
						"id": "sitemap-xml",
						"title": "",
						"categories": "",
						"url": " /sitemap.xml",
						"content": "/\n     {{ \"now\" | date: \"%Y-%m-%d\" }}\n     daily\n    \n{% for section in site.data.toc %}\n     {{ site.baseurl }}{{ section.url }}/\n     {{ \"now\" | date: \"%Y-%m-%d\" }}\n     daily\n    \n{% endfor %}"
					}




					,

					"guides-smi-conformance": {
						"id": "guides-smi-conformance",
						"title": "Running SMI Conformance Tests",
						"categories": "",
						"url": " /guides/smi-conformance",
						"content": "This guide will help you run SMI Conformance Tests with Meshery through the [UI](#running-smi-conformance-tests-through-meshery-ui), CLI and a GitHub action for your CI/CD pipelines. To learn more about Meshery and SMI Conformance, see [Meshery and Service Mesh Interface (SMI) Conformance]({{ site.baseurl }}/functionality/service-mesh-interface)\n\n## Setup Meshery and Install a Service Mesh\n\nInstall and login to Meshery to start running SMI conformance tests. See [Installation]({{ site.baseurl }}/installation) documentation for detailed steps on how to install Meshery.\n\n_Meshery dashboard_\n\n\n\nNext, install the service mesh from Meshery. See [Service Meshes]({{ site.baseurl }}/service-meshes) for a list of supported service meshes and guides on how to install them.\n\n_Installing Istio_\n\n\n\n**Alternatively**, you can use mesheryctl, Meshery's CLI to deploy a service mesh. See [mesheryctl mesh]({{ site.baseurl }}/reference/mesheryctl/mesh/) documentation for details.\n\n## Running SMI Conformance Tests Through Meshery UI\n\nNow that we have deployed the service mesh to validate (see [Setup Meshery and Install a Service Mesh](#setup-meshery-and-install-a-service-mesh)), we can run an SMI conformance test through the UI.\n\nIn the \"Validate Service Mesh Configuration\" click on the \"+\" button and select \"SMI Conformance\".\n\n_Running SMI Conformance Test on Istio_\n\n\n\nThis will start running the SMI Conformance tests.\n\nOnce the tests are done, you can navigate to SMI Conformance results page by clicking the conformance tab on the menu.\n\n_SMI Conformance Test Results_\n\n\n\nClick the dropdown button to view the results of a specific test.\n\n_Viewing the Results_\n\n\n\n## Running SMI Conformance Tests Through Meshery CLI (mesheryctl)\n\nOnce we have deployed the service mesh to validate  (see [Setup Meshery and Install a Service Mesh](#setup-meshery-and-install-a-service-mesh)), we can run an SMI conformance test through the CLI (mesheryctl).\n\nYou can also use mesheryctl, Meshery's CLI to deploy a service mesh. See [mesheryctl mesh]({{ site.baseurl }}/reference/mesheryctl/mesh/) documentation for details.\n\nDownload the token from the Meshery Dashboard by clicking on the profile icon on the top-right corner.\n\n_Downloading the token_\n\n\n\nOpen a terminal and run the following command.\n\n \n \n mesheryctl mesh validate -a [name of the adapter] -t [path to token for authentication] -s smi\n \n \n\n For example to run an SMI Conformance test on Open Service Mesh, we can run:\n\n \n \n mesheryctl mesh validate -a meshery-osm:10009 -t ~/Downloads/auth.json -s smi\n \n \n\n To view the results of the test, you can open up Meshery in the browser and navigate to the \"Conformance\" tab.\n\n_SMI Conformance Test Results_\n\n\n\nClick the dropdown button to view the results of a specific test.\n\n_Viewing the Results_\n\n\n\n## Running SMI Conformance Tests in CI/CD Pipelines\n\nYou can use [Meshery SMI Conformance GitHub action](https://github.com/layer5io/meshery-smi-conformance-action) to run SMI Conformance tests in your CI/CD pipelines.\n\nThe conformance test would be run in your pipeline and the results will be published on your Meshery Dashboard (see [Setup Meshery and Install a Service Mesh](#setup-meshery-and-install-a-service-mesh)).\n\nDownload the token from the Meshery Dashboard by clicking on the profile icon on the top-right corner.\n\n_Downloading the token_\n\n\n\nYou can use this token to authenticate the instance of Meshery running in your CI/CD workflow.\n\n{% include alert.html type=\"info\" title=\"Using the token in GitHub workflows\" content=\"You can use the secrets feature in GitHub to store the token.\" %}\n\nA sample workflow that could be added to your `.github/workflows` folder is given below. This example uses Open Service Mesh.\n\n \n \n name: SMI Conformance with Meshery\n on:\n   push:\n     tags:\n       - 'v*'\n \n jobs:\n   smi-conformance:\n     name: SMI Conformance\n     runs-on: ubuntu-latest\n     steps:\n \n       - name: Validate SMI Conformance\n         uses: layer5io/mesheryctl-smi-conformance-action@master\n         with:\n           service_mesh: open_service_mesh\n           provider_token: ${{ secrets.MESHERY_PROVIDER_TOKEN }}\n           mesh_deployed: false\n \n \n\n Once the tests are run, you can log into Meshery to view the results in the \"Conformance\" tab.\n\n _SMI Conformance Test Results_\n\n\n\nClick the dropdown button to view the results of a specific test.\n\n_Viewing the Results_\n\n\n\n##### Suggested Reading\n\n- Functionality: [Service Mesh Interface (SMI) Conformance]({{ site.baseurl }}/functionality/service-mesh-interface)"
					}




					,

					"es-functionality-smi-conformance": {
						"id": "es-functionality-smi-conformance",
						"title": "Capacidad de cumplimiento de SMI",
						"categories": "",
						"url": " /es/functionality/smi-conformance",
						"content": "## Conformidad\n\nDefiniendo “Conformidad” - Es importante reconocer que la conformidad consiste en capacidades y estado de conformidad. Nosotros definimos la conformidad como una combinación de estos 2 conceptos.\n\n1. La conformidad de SMI reconoce que\n   ...algunos service mesh participantes nunca implementan completamente funciones a conciencia (especificaciones SMI)...\n\n2. La conformidad SMI identifica\n   ...una diferencia entre la completa implementación de una especificación y el cumplimiento de las partes que implementa...\n\n## Capacidad\n\nDado que algunas implementaciones del service mesh nunca tienen la intención de implementar completamente las especificaciones de SMI, por cada prueba individual, existen tres posibles designaciones de capacidad.\n\n- Completa - los service mesh tienen esta capacidad.\n\n- Parcial - los service mesh tienen implementada una porción de esta capacidad (puede o no tener esta capacidad completamente en el futuro).\n\n- Ninguna - actualmente los service mesh no tienen esta capacidad (puede o no tener esta capacidad en el futuro).\n\n## Enfoque de las pruebas de conformidad\n\nCada versión de Kubernetes, versión de service mesh y categoría de SMI serán sometidas a varias pruebas. Cada prueba se llevará a cabo de forma automatizada y concurrente, principalmente invocando a Meshery para ejecutar las pruebas de conformidad.\n\n#### Estos son los pasos\n\n- Configurar una versión específica de un service mesh\n- [Opcional] Configurar Prometheus\n- Desplegar una aplicación de muestra elegida\n- Desplegar el operador SMI necesario, como smi-metrics\n  la prueba se ejecutará, lo que puede implicar la llamada a un punto final de API\n- Validar la respuesta\n\nNo todas las pruebas pueden ser validadas simplemente usuando la respuesta, en estos casos podemos también conectarnos a una instancia de Prometheus, el cual está preconfigurado para recolectar todas las métricas para la prueba, y usar estas métricas para definir expectativas. Trabajaremos en ejemplos específicos.\n\nFinalmente, los resultados de las ejecuciones de pruebas de Meshery son persistentes (como repositorios de GitHub) y publicados en la página web de conformidad. Eventualmente, podemos construir un sistema el cual nos permitirá ejecutar de forma granular pruebas en demanda para una versión elegida de Kubernetes, service mesh y operador de SMI.\n\n## Definiciones de las pruebas de conformidad\n\nLas pruebas de conformidad son clasificadas por tipo de especificación SMI. Un conjunto de pruebas son definidas para cada especificación SMI. Dentro de cada conjunto de pruebas, se definen dos tipos de pruebas de aserción: aserción de presencia y aserción de capacidad.\n\n## Validación de conformidad\n\nLa conformidad con las especificaciones de SMI se realizarán a través del aprovisionamiento automatizado de service mesh individuales y el despliegue de una carga de trabajo en común. Se utiliza una aplicación de muestra sencilla e instrumentada como carga de trabajo para probar.\n\n## Definición de conformidad\n\nLa conformidad con las especificaciones de SMI es definida como una serie de pruebas de aserción. Una prueba de aserción es una condición que debe probarse para confirmar la conformidad con un requisito. Una prueba de aserción es una condición que desde la perspectiva de las pruebas de validación, determinan la conformidad requerida para que se prueben varias condiciones. La colección de pruebas de aserción clasificadas por la especificación de SMI define colectivamente el conjunto de pruebas de conformidad de SMI. Meshery es el mejor arnés de prueba utilizado para ajustar las pruebas de conformidad de SMI para diferentes service mesh y diferentes cargas de trabajo.\n\n## Pasos para ejecutar pruebas de rendimiento\n\n### Precondiciones\n\n- La capacidad de un determinado service mesh para adherirse a una especificación de SMI es validada ejecutando una carga de trabajo sobre el service mesh.\n- Los depliegues de cargas de trabajo son configurados de forma específica para los requisitos de incorporación del service mesh dado.\n- Las pruebas son definidas para validar la conformidad para cada tipo de especificación de SMI (por ejemplo, métricas, acceso, tráfico...).\n\n### Invocación\n\n- Las pruebas de aserción son definidas de acuerdo a una carga de trabajo específica y son desplegadas con las cargas de trabajo que se están probando (las pruebas de aserción están empaquetadas).\n- Un resultado de prueba es recolectado con la evaluación de cada aserción.\n- Los resultados de futuras pruebas se transmitirán individualmente a Meshery después de que se evalúe cada aserción.\n- Una vez que todas las aserciones son evaluadas, los resultados de las pruebas son retornadas a Meshery para su representación visual.\n\n## Informe de conformidad\n\n### Procedencia de los resultados de pruebas\n\nA cada proyecto de service mesh participante se le pedirá que incorpore la herramienta de conformidad, Meshery, en sus pipelines de CI o, alternativamente, que ejecute manualmente el conjunto de pruebas de conformidad cuando se realice un despliegue del proyecto de service mesh. La herramienta de conformidad ejecutará el conjunto de pruebas y automáticamente actualizará el panel de conformidad cuando la prueba sea completada.\nPara garantizar la procedencia de los resultados de las pruebas que representan un service mesh determinado, se pedirá a cada proyecto que identifique uno o más cuentas de GitHub que se utilizarán para publicar las pruebas. Idealmente, esta cuenta de GitHub es una cuenta servicerobot que se usa dentro del pipeline de CI del proyecto.\n\nEste método de proporcionar la verification de resultados es usado de manera similar para esos mismos proyectos de service mesh que también usan Meshery, para proporcionar sus resultados de pruebas de rendimiento.\n\nCada proyecto de service mesh necesita identificar su cuenta de servicerobot, actualizando esta lista httpsmeshery.iosmi-conformancesm-service-accounts. Identifique un usuario proveedor de Meshery determinado y designe su \"cuenta de servicio de CI\".\n\n## Publicación de resultados de pruebas\n\nUn informe de cara al público mostrará el estado actual e histórico de la capacidad del service mesh individual con cada una de las especificaciones de SMI. El informe será de natuaraleza visual, pero también está disponible como yaml. El panel se publicará públicamente aquí httpsmeshery.iosmi-conformance (actualmente, listado en httpslayer5.iolandscape#smi).\n\n### Conformidad histórica\n\nLos informes rastrearán el historial de las versiones del service mesh, las versiones de las especificaciones SMI y su compatibilidad."
					}






					,

					"project-compatibility-matrix-meshery-traefik-mesh-past-results": {
						"id": "project-compatibility-matrix-meshery-traefik-mesh-past-results",
						"title": "Meshery-Traefik-Mesh Past Results",
						"categories": "",
						"url": " /project/compatibility-matrix/meshery-traefik-mesh-past-results",
						"content": ""
					}




					,

					"extensibility-ui": {
						"id": "extensibility-ui",
						"title": "Extensibility: UI",
						"categories": "",
						"url": " /extensibility/ui",
						"content": "Meshery UI has a number of extension points that allow for users to customize their experience with third-party plugins.\n\n## Designing Custom Components for Meshery Extension Point\n\nThe Meshery extension points are the way to extend meshery and derive the more custom use-cases out of it. We already have an extension point called MeshMap. \nMeshery can provide the extension point in various ways by providing the feature of custom-components. One of the example where these custom components are used is RJSF forms in meshery-extension\n\n### Extensibilty: RJSF Custom Component\nRJSFWrapperComponent are the customizations done on RJSF forms overriding the default behaviour of meshery-ui rjsf forms.\nThe [Rjsf forms are wrapped](https://github.com/meshery/meshery/blob/0bc68d1cd0ba80a565afa68bce80899c22db9a2e/ui/components/MesheryMeshInterface/PatternService/RJSF.js#L66) under these component to receive the custom-props from Meshery-extension.\n```jsx\n\n       {\n          setData(e.formData)\n        }}\n        jsonSchema={jsonSchema}\n      />\n  \n```\nThese props are received in the RJSF forms like this: [RJSF Component](https://github.com/meshery/meshery/blob/0bc68d1cd0ba80a565afa68bce80899c22db9a2e/ui/components/MesheryMeshInterface/PatternService/RJSF.js#L91) \n\n#### Passing new custom prop to forms:\n\n 1. Pass the new prop from the Meshery Extension in the RJSF Wrapper component used like this:\n\n ```js\nfunction RJSFWrapperComponent(props) {\n  // Clone the child to pass in additional props\n  const children = React.cloneElement(props.children, {\n    ...(props.children?.props || {}),\n    customComponent: YOUR_NEW_CUSTOM_COMPONENT_OR_PROP\n  });\n\n  return children\n} \n ```\nExtract the props in the [RJSFForm Component](https://github.com/meshery/meshery/blob/0bc68d1cd0ba80a565afa68bce80899c22db9a2e/ui/components/MesheryMeshInterface/PatternService/RJSF.js#L91)\n\n_Extensibility documentation missing?_\nSubmit an issue to request more documentation.\n\n### Extension Points by File\n\n1. **/ui/components/NavigatorExtension.js** - add custom menu items in Meshery's main navigation menu.\n1. **/ui/pages/extension/[component].js** - optionally, define the state of a parent menu item: expanded or collapsed.\n1. **ui/remote-component.config.js** - list of Material UI components made available to Remote Providers and their plugins.\n1. **ui/components/MesheryMeshInterface/PatternServiceFormCore.js** - PatternServiceFormCore component which decouples the SettingsForm and TraitsForm from their UI representation while keeping the logic coupled. This design lets the Remote Provider amend the design of the components without interfering with Meshery UI's core logic.\n\n### Using React JSON Schema Form\n Meshery exposes a custom RJSF Form component which is capable of generating \"Pattern\" YAMLs without being extremely opiniated about the UI. This custom component is available at `ui/components/MesheryMeshInterface/PatternServiceFormCore.js`. An example usage of the component which will render the logically coupled `SettingsForm` and `TraitsForm` in a Material UI `TabPanel`:\n\n ```js\n  \n\t{(SettingsForm, TraitsForm) => {\n\t\treturn (\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t);\n\t}}\n  \n ```\n\n Meshery UI's RJSF form accepts two props:\n\n- `RJSFWrapperComponent`: The wrapper component gets all of the props that are passed to the underlying form, allowing to inspect the props and changing the behaviour based on them.\n- `RJSFFormChildComponent`: This component will customize the internals of the RJSF form.\n\nWith both of these props, Remote Providers can customize the wrapper and can also customize the body of the form. This allows full customization of the form.\n\nfrom _ui/components/MesheryMeshInterface/PatternService/index.js_\n```\nfunction PatternService({ formData, jsonSchema, onChange, type, onSubmit, onDelete, RJSFWrapperComponent, RJSFFormChildComponent }) \n```"
					}




					,

					"guides-upgrade": {
						"id": "guides-upgrade",
						"title": "Upgrading Meshery and all of its components",
						"categories": "",
						"url": " /guides/upgrade",
						"content": "# Upgrade Guide\n\n## Upgrading Meshery Server, Adapters, and UI\n\nVarious components of Meshery will need to be upgraded as new releases become available. Meshery is comprised of a number of components including a server, adapters, UI, and CLI. As an application, Meshery is a composition of different functional components.\n\n\n    \nFigure: Meshery components\n\n\nSome of the components must be upgraded simultaneously, while others may be upgraded independently. The following table depicts components, their versions, and deployment units (deployment groups).\n\n\n\n### Versioning of Meshery components\n\n\n    \n        Components\n        Sub-component\n        Considering or Updating\n    \n    \n        Meshery Adapters\n        Any and All Adapters\n        Docker Deployment: Watchtower updates this component in accordance with the user’s release channel subscription.\n    \n    \n        Meshery Server\n        Meshery UI\n        Manages lifecycle of Meshery Operator; Adapters, UI, Load Generators, Database.\nDocker Deployment: Watchtower updates this component in accordance with the user’s release channel subscription.\n    \n    \n        Load Generators\n    \n    \n        Database\n    \n    \n        Meshery Operator\n        MeshSync\n        Meshery Operator manages the lifecycle of this component and its sub-components.\n    \n    \n        Meshery Broker\n        Meshery Operator manages the lifecycle of this event bus component.\n    \n    \n        `mesheryctl`\n        \n        mesheryctl manages the lifecycle of Meshery Server. \n         \n            system start calls system update by default, which updates server and existing adapters, but doesn’t update meshery.yaml. Unless the skipUpdate flag is used, operators are also updated here.\n            system reset retrieving docker-compose.yaml from GitHub (use git tag to reset to the right Meshery version).\n            system restart also updates operators, unless the skipUpdate flag is used.\n            system update updates operators in case of both docker and kubernetes deployments.\n            system context manages config.yaml, which manages meshery.yaml. \n            mesheryctl should generally be checking for latest release and informing user.\n        \n        \n    \n    \n        Remote Providers\n        Meshery Cloud\n        Process Extension: Integrators manage the lifecycle of their Remote Providers. Process is unique per provider.\n    \n    \n        Meshery Cloud\n         Static Extension: Integrators manage the lifecycle of their Meshery Extensions. Process is unique per provider.\n    \n\n\n\nSub-components deploy as a unit, however, they do not share the same version number.\n\n### Meshery Docker Deployments\n\nIn order to pull the latest images for Meshery Server, Adapters, and UI, execute the following command:\n\n \n \n mesheryctl system update\n \n \n\nIf you wish to update a running Meshery deployment with the images you just pulled, you'll also have to execute:\n\n \n \n mesheryctl system restart\n \n \n\n### Meshery Kubernetes Deployments\n\nUse `kubectl apply` or `helm` to upgrade the Meshery application manifests in your Kubernetes cluster.\n\n## Upgrading Meshery CLI\n\nThe Meshery command line client, `mesheryctl`, is available in different package managers. Use the instructions relevant to your environment.\n\n### Upgrading `mesheryctl` using Homebrew\n\nTo upgrade `mesheryctl`, execute the following command:\n\n \n \n brew upgrade mesheryctl\n \n \n\n### Upgrading `mesheryctl` using Bash\n\nUpgrade `mesheryctl` and run Meshery on Mac or Linux with this script:\n\n \n \n curl -L https://meshery.io/install | DEPLOY_MESHERY=false bash -\n \n \n\n### Upgrading `mesheryctl` using Scoop\n\nTo upgrade `mesheryctl`, execute the following command:\n\n \n \n scoop update mesheryctl"
					}




					,

					"es-guides-upgrade": {
						"id": "es-guides-upgrade",
						"title": "Actualizar `mesheryctl` y Meshery",
						"categories": "",
						"url": " /es/guides/upgrade",
						"content": "# Actualizando Meshery\r\n\r\n## Actualizar el Servidor, Adaptadores, e Interfaz Gráfica de Meshery\r\n\r\nVarios componentes de Meshery deberán actualizarse a medida que estén disponibles nuevas versiones. Meshery consta de una serie de componentes que incluyen un servidor, adaptadores, UI y CLI. Como aplicación, Meshery es una composición de diferentes componentes funcionales.\r\n\r\n\r\n    \r\n\r\n\r\nAlgunos de los componentes deben actualizarse simultáneamente, mientras que otros pueden actualizarse de forma independiente. La siguiente tabla muestra los componentes, sus versiones y las unidades de implementación (grupos de implementación).\r\n\r\n### Versionado de componentes Meshery\r\n\r\n\r\n    \r\n        Components\r\n        Sub-component\r\n        Considering or Updating\r\n    \r\n    \r\n        Meshery Adapters\r\n        Any and All Adapters\r\n        Docker Deployment: Watchtower updates this component in accordance with the user’s release channel subscription.\r\n    \r\n    \r\n        Meshery Server\r\n        Meshery UI\r\n        Manages lifecycle of Meshery Operator; Adapters, UI, Load Generators, Database.\r\nDocker Deployment: Watchtower updates this component in accordance with the user’s release channel subscription.\r\n    \r\n    \r\n        Load Generators\r\n    \r\n    \r\n        Database\r\n    \r\n    \r\n        Meshery Operator\r\n        MeshSync\r\n        Meshery Operator manages the lifecycle of this component and its sub-components.\r\n    \r\n    \r\n        Meshery Broker\r\n        Meshery Operator manages the lifecycle of this event bus component.\r\n    \r\n    \r\n        `mesheryctl`\r\n        \r\n        mesheryctl manages the lifecycle of Meshery Server. \r\n         \r\n            system start calls system update by default, which updates server and existing adapters, but doesn’t update meshery.yaml.\r\n            system reset retrieving docker-compose.yaml from GitHub (use git tag to reset to the right Meshery version).\r\n            system context manages config.yaml, which manages meshery.yaml. \r\n            mesheryctl should generally be checking for latest release and informing user.\r\n        \r\n        \r\n    \r\n    \r\n        Remote Providers\r\n        Meshery Cloud\r\n        Process Extension: Integrators manage the lifecycle of their Remote Providers. Process is unique per provider.\r\n    \r\n    \r\n        Meshery Cloud\r\n         Static Extension: Integrators manage the lifecycle of their Meshery Extensions. Process is unique per provider.\r\n    \r\n\r\n\r\nSub-components deploy as a unit, however, they do not share the same version number.\r\n\r\n### Despliegues Docker de Meshery\r\n\r\nPara actualizar el servidor Meshery, los adaptadores y la interfaz de usuario, ejecute el siguiente comando:\r\n\r\n \r\n \r\n mesheryctl system upgrade\r\n \r\n \r\n\r\n### Despliegues Kubernetes de Meshery\r\n\r\nUtilice `kubectl apply` o` helm` para actualizar los manifiestos de la aplicación Meshery en su clúster de Kubernetes.\r\n\r\n## Actualizando `mesheryctl`\r\n\r\nEl cliente de línea de comandos de Meshery está disponible en diferentes administradores de paquetes. Utilice las instrucciones relevantes para su entorno.\r\n\r\n### Actualizando `mesheryctl` usando Homebrew\r\n\r\nPara actualizar `mesheryctl`, ejecute el siguiente comando:\r\n\r\n \r\n \r\n brew upgrade mesheryctl\r\n \r\n \r\n\r\n### Actualizando `mesheryctl` usando Bash\r\n\r\nActualice `mesheryctl` y ejecute Meshery en Mac o Linux con este script:\r\n\r\n \r\n \r\n curl -L https://meshery.io/install | bash -\r\n \r\n \r\n\r\n### Actualice `mesheryctl` usando Scoop\r\n\r\nPara actualizar `mesheryctl`, ejecute el siguiente comando:\r\n\r\n \r\n \r\n scoop update mesheryctl"
					}




					,

					"installation-platforms-windows": {
						"id": "installation-platforms-windows",
						"title": "Windows",
						"categories": "",
						"url": " /installation/platforms/windows",
						"content": "{% include installation_prerequisites.html %}\n\n# Overview\nTo set up and run Meshery on Windows \n\n1. Configure Windows and enable Docker \n2. Install a Kubernetes cluster on top \n3. Run Meshery\n\n### Compatibility\n\nThe following minimum Windows build versions are required:\n\n  \n    Name\n    Version \n  \n  \n    WSL1\n    x64 - Windows 7 \n  \n  \n    WSL2\n    x64 - Version 1903, Build 18362; ARM 64 - Version 2004, Build 19041\n  \n  \n    Custom Kernel\n    Build 18945\n  \n  \n    Kernel with K8s required modules\n    Build 19013\n  \n\n\nNote\nRun the following command on Powershell to check your Windows build and version:\n \n \n[System.Environment]::OSVersion.Version\n \n \n### Steps\nPerform the following steps in order:\n\n### 1. Install Windows Subsystem for Linux (WSL) \n\nOpen Powershell in administrator mode and run:\n\n \n \n dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart\n Restart-Computer\n \n \n\n##### Choosing your WSL version:\n\nWSL2 (Recommended)\nSet the default version to *WSL2*, which will be inherited by any distro you wish to use.\n\nEnable VM (Virtual Machine) feature:\nOpen PowerShell in administrator mode and run:\n\n \n \n dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart\n \n \n\nSet WSL2 as the default version:\n\n \n \n wsl --set-default-version 2\n \n \n\n WSL1 \n\nWarning:\nIt is recommended to update to WSL2 as WSL1 doesn't support the Docker Desktop application for Windows. Instead, it only supports the deprecated version, [Docker Toolbox](https://docs.docker.com/toolbox/toolbox_install_windows/). \n\nIf you still wish to continue, follow the instructions for WSL1\n\n\n\n1. The default version of WSL is set to WSL1 by default. You can move forward to install the distro of your choice. \n\n2. Docker Toolbox \n\nWarning: Docker Toolbox is a deprecated version. It is recommended to update your system and install the Docker Desktop application with WSL2. \n\nDocker Toolbox uses Linux-specific kernel features, and can’t run natively on Windows. Instead, it creates and uses a small Linux VM on your machine along with docker-machine, and uses VirtualBox to run Docker. \n    \n         Go to Toolbox Releases and download the latest release .exe file \n        Follow these instructions to successfully set up the Docker Toolbox application. \n    \n\n\n\n\n\n### 2. [Install a new distro](https://docs.microsoft.com/en-us/windows/wsl/install-win10#install-your-linux-distribution-of-choice)\nIn this tutorial, [Ubuntu 18.04](https://www.microsoft.com/en-us/p/ubuntu-1804-lts/9n9tngvndl3q?activetab=pivot:overviewtab) will be the distro used. Feel free to use any distro of your choice.\n\nNote: If you choose to run Meshery without installing a distro, skip [step 2](#2-install-a-new-distro).\n\n### 3. Enable Docker\n\nThe Docker Desktop application for Windows includes a comprehensive set of tools, including Docker Engine, Docker CLI client, Docker Compose, Notary, Kubernetes, and a Credential Helper.\n\n\n  \n    Windows 10 Version\n    Docker Desktop \n  \n  \n    Pro/Education/Enterprise\n    Docker Desktop for Windows Pro\n  \n  \n    Home\n    Docker Desktop for Windows Home\n  \n\n\n### 4.  Install a Kubernetes cluster\n\nOnce Docker is installed, the next step will be to install a Kubernetes cluster.\nUnder \"Settings\" in the Docker Desktop application, enable *Kubernetes*.\nIn this how-to, [K3d](https://github.com/rancher/k3d) will be used as it relies only on Docker.\n\n  \n  \n  curl -s https://raw.githubusercontent.com/rancher/k3d/main/install.sh | bash\n  k3d cluster create\n  export KUBECONFIG=\"$(k3d kubeconfig get 'k3s-default')\"\n  \n  \n\nIf using Scoop, run the following in the PowerShell to install a Kubernetes cluster :\n\n  \n  \n  scoop install k3d\n  k3d cluster create\n  export KUBECONFIG=\"$(k3d kubeconfig get 'k3s-default')\"\n  \n  \n\n### 5. Set up Meshery\n\nFollow the [installation steps]({{ site.baseurl }}/installation#windows) to install the mesheryctl CLI. Then, execute:\n  \n  \n  ./mesheryctl system start\n  \n  \n\n  Meshery server supports customizing authentication flow callback URL, which can be configured in the following way\n  \n  \n  MESHERY_SERVER_CALLBACK_URL=https://custom-host ./mesheryctl system start\n  \n  \n\nType **yes** when prompted to choose to configure a file. To get started, choose Docker as your platform to deploy Meshery.\n\n### 6.  Aftermath errors\n\nMeshery is unable to detect the Kubernetes connection running on your local system, even after manually uploading the `.kube config` file :\n\n1. To display a list of the contexts in Kubernetes, run:\n\n  \n  \n  kubectl config get-contexts\n  \n  \n\n2. Change your current context to docker-desktop:\n\n  \n  \n  kubectl config use-context docker-desktop\n  \n  \n\n3. Restart Meshery.\n\nStuck at another error? [Tell us about it](http://slack.layer5.io/)"
					}




					,

					"es-installation-platforms-windows": {
						"id": "es-installation-platforms-windows",
						"title": "Windows",
						"categories": "",
						"url": " /es/installation/platforms/windows",
						"content": "# **Inicio rápido con Windows**\r\n\r\nPara configurar y ejecutar Meshery en Windows:\r\n\r\n1. Configurar Windows y habilitar Docker \r\n2. Instalar un cluster Kubernetes\r\n3. Instalar Meshery\r\n\r\n### **Compatibilidad**\r\n\r\nLas siguientes versiones mínimas de Compilación de Windows son requeridas:\r\n\r\n\r\n  \r\n    Nombre\r\n    Versión\r\n  \r\n  \r\n    WSL1\r\n    x64 - Windows 7 \r\n  \r\n  \r\n    WSL2\r\n    x64 - Version 1903, Compilación 18362; ARM 64 - Version 2004, Compilación 19041\r\n  \r\n  \r\n    Kernel Personalizado\r\n    Compilación 18945\r\n  \r\n  \r\n    Kernel con módulos requeridos K8s\r\n    Compilación 19013\r\n  \r\n\r\n\r\n**Nota**\r\nEjecute el siguiente comando en Powershell para comprobar la compilación y la versión de Windows:\r\n\r\n```powershell\r\n[System.Environment]::OSVersion.Version\r\n```\r\n\r\n### **Pasos**\r\n\r\nRealice los siguientes pasos en orden:\r\n\r\n#### 1. Instalar el subsistema de Windows para Linux (WSL)\r\n\r\nAbra la Powershell en modo administrador y ejecute:\r\n\r\n```powershell\r\ndism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart\r\nRestart-Computer\r\n```\r\n\r\n##### **Elegir tu versión WSL:**\r\n\r\nWSL2 (Recomendado)\r\nElija la versión por defecto a `WSL2`, la cual será heredada por cualquier distro que desee usar.\r\n\r\n**Habilite la característica VM (Virtual Machine)**:\r\n\r\n```powershell\r\ndism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart\r\n```\r\n\r\n**Colocar WSL2 como la versión default**:\r\n\r\n```bash\r\nwsl --set-default-version 2\r\n```\r\n\r\n WSL1 \r\n\r\nAdvertencia:\r\nSe recomienda actualizar a WSL2 ya que WSL1 no soporta la aplicación Docker Desktop para Windows. En su lugar, solo soporta la versión obsoleta, [Docker Toolbox](https://docs.docker.com/toolbox/toolbox_install_windows/).\r\n\r\nSi aun desea continuar, siga las instrucciones para WSL1\r\n\r\n\r\n\r\n1. La versión por defecto de WSL está establecida en WSL1 por defecto. Puedes ir al siguiente link para instalar la distro de tu elección. \r\n\r\n2. Docker Toolbox \r\n\r\nAdvertencia: Docker Toolbox es una versión obsoleta. Se recomienda actualizar el sistema e instalar la aplicación Docker Desktop con WSL2. \r\n\r\nDocker Toolbox utiliza características específicas del kernel de Linux, y no puede funcionar de forma nativa en Windows. En su lugar, crea y utiliza una pequeña VM de Linux en tu máquina junto con docker-machine , y utiliza VirtualBox para ejecutar Docker. \r\n\r\n\r\n Diríjase a Toolbox Releases y descargue la última versión del archivo .exe\r\n Siga estas instrucciones para configurar con éxito la aplicación Docker Toolbox. \r\n\r\n\r\n\r\n\r\n\r\n#### 2. [Instalar la nueva distro](https://docs.microsoft.com/en-us/windows/wsl/install-win10#install-your-linux-distribution-of-choice)\r\n\r\nEn este tutorial, [Ubuntu 18.04](https://www.microsoft.com/en-us/p/ubuntu-1804-lts/9n9tngvndl3q?activetab=pivot:overviewtab) será la distro utilizada. Siéntase libre de usar cualquier distro a su elección.\r\n\r\n#### 3. habilitar Docker\r\n\r\nLa aplicación Docker Desktop para Windows incluye un completo conjunto de herramientas, incluyendo Docker Engine, el cliente Docker CLI, Docker Compose, Notary, Kubernetes, y un Credential Helper.\r\n\r\n\r\n  \r\n    Versión Windows 10\r\n    Docker Desktop\r\n  \r\n  \r\n    Pro/Education/Enterprise\r\n    Docker Desktop para Windows Pro\r\n  \r\n  \r\n    Home\r\n    Docker Desktop para Windows Home\r\n  \r\n\r\n\r\n#### 4.  Instalar un cluster Kubernetes\r\n\r\nUna vez que Docker esté instalado, el siguiente paso será instalar un cluster Kubernetes. En esta guía, se usará [K3d](https://github.com/rancher/k3d) ya que sólo depende de Docker.\r\n\r\n```bash\r\ncurl -s https://raw.githubusercontent.com/rancher/k3d/main/install.sh | bash\r\nk3d cluster create\r\nexport KUBECONFIG=\"$(k3d kubeconfig get 'k3s-default')\"\r\n```\r\n\r\n#### 5. Instalar Meshery\r\n\r\nSiga los [pasos de instalación]({{ site.baseurl }}/es/installation/windows.md) para instalar el CLI mesheryctl. Luego, ejecute:\r\n\r\n```bash\r\n./mesheryctl system start\r\n```"
					}




					,

					"guides-mesheryctl-working-with-mesheryctl": {
						"id": "guides-mesheryctl-working-with-mesheryctl",
						"title": "Using Meshery CLI",
						"categories": "",
						"url": " /guides/mesheryctl/working-with-mesheryctl",
						"content": "Meshery's command line interface is `mesheryctl`. Use `mesheryctl` to both manage the lifecyle of Meshery itself and to access and invoke any of Meshery's application and cloud native management functions. `mesheryctl` commands can be categorized as follows:\n\n- `mesheryctl` - Global overrides and flags\n- `mesheryctl app` - Service Mesh Application Management\n- `mesheryctl filter` - Service Mesh Filter Management\n- `mesheryctl mesh` - Service Mesh Lifecycle & Configuration Management\n- `mesheryctl perf` - Service Mesh Performance Management\n- `mesheryctl pattern` - Service Mesh Pattern Configuration & Management\n- `mesheryctl system` - Meshery Lifecycle and Troubleshooting\n\n## Configuring Meshery Deployments with meshconfig\n\n_Meshconfig_ refers to a configuration file found at `~/.meshery/config.yaml`. Your meshconfig file must contain one or more `contexts` in order for any `mesheryctl system` command to work. Each context represents a Meshery deployment.\n\nEach of the `system` commands are used to control Meshery's lifecycle like `system start`, `stop`, `status`, `reset` and so on.\n\n## Meshery CLI FAQ\n\n#### Question: What is the meshconfig?\n\nLike kubeconfig for `kubectl`, meshconfig is the name of your `mesheryctl` config file. You can find your meshconfig file in its default location of `~/.meshery/config.yaml`. By default, `mesheryctl` will look to this location for your meshconfig. You can override the default location at anytime with the use of the global parameter, `--config `.\n\n#### Question: What is a context?\n\nA meshconfig `context` represents a single Meshery deployment. Using `context`s, you can configure different Meshery deployments with environment-specific settings and you can easily switching between your individual Meshery deployments by updating your current-context.\n\n#### Question: Why are contexts necessary?\n\nMany Meshery users have more than one Meshery deployment. Contexts allow you to deploy different versions of Meshery, update your release channel subscription settings, selectively install one or more Meshery Adapters, and so on. Contexts allow you to configure your invididual Meshery deployments.\n\n#### Question: What is `current-context`?\n\n`current-context` identifies the Meshery deployment that when any `mesheryctl` command is invoked will use the environment described in the `current-context`. You can switch between contexts. Only one context can be the `current-context`.\n\n#### Question: What's the difference between contexts and environments?\n\nContexts configure Meshery deployments (server, adapters, operator and so on), while environments define a collection of Kubernetes clusters and service meshes under management in Meshery.\n\n#### Question: What does the default meshconfig look like?\n\nThe following template is used to create a config file from scratch. Not all of the following variables are required to be included. Some of the variables may have a null value or may be excluded (e.g. “adapters”).\n\n```\ncontexts:\n    :\n      endpoint: \n      token: \n      platform: \n      # Future: specify type of kubernetes (e.g. eks)\n      adapters: \n\n   :\n    endpoint: \n    token: \n    platform: \n    current-context: \n\ntokens:\n- name: \n  location: \n- name: \n  value: \n  # Future: allow embedding of token certificate\n```\n\nTry it out and see for yourself. Run `mesheryctl system context create test` and `mesheryctl system context view test`.\n\n#### Question: How do endpoints work in meshconfig?\n\nEndpoints specify the access URL for the Meshery UI, for a deployment. Endpoints are developed based on platform:\n\n- Docker: Docker users can specify the endpoint in the meshconfig. The port specified in this will be used to generate the endpoint. The endpoint is of the form `http://localhost:port`, where `port` is taken from the meshconfig.\n- Kubernetes: Deployments with kubernetes as the platform have an endpoint generated by service discovery using the Kubernetes API. This endpoint overwrites the endpoint specified in the meshconfig.\n\n## Advanced Installation\n\nUsers can control the specific container image and tag (version) of Meshery that they would like to run by editing their local _~/.meshery/meshery.yaml_ (a docker compose file).\nAligned with the Meshery container image, instead of leaving the implicit :stable-latest tag behind image: layer5/meshery, users will instead identify a specific image tag like so:\n\n```\nbash\nversion: '3'\nservices:\n  meshery:\n    image: layer5/meshery:v0.5.0\n    labels:\n      - \"com.centurylinklabs.watchtower.enable=true\"\n```\n\n# Suggested Reading\n\nFor an exhaustive list of `mesheryctl` commands and syntax:\n\n- See [`mesheryctl` Command Reference]({{ site.baseurl }}/reference/mesheryctl).\n\nGuides to using Meshery's various features and components.\n\n{% capture tag %}\n\nUpgrading mesheryctl\n\n{% endcapture %}\n\n{% include suggested-reading.html diffName=\"true\" isDiffTag=\"true\" diffTag=tag %}\n\n\n\n\n\n{% include discuss.html %}"
					}




					,

					"assets-css-style-css": {
						"id": "assets-css-style-css",
						"title": "",
						"categories": "",
						"url": " /assets/css/style.css",
						"content": "@import \"jekyll-theme-primer\";"
					}




					,

					"contributing-gitflow": {
						"id": "contributing-gitflow",
						"title": "",
						"categories": "",
						"url": " /CONTRIBUTING-gitflow/",
						"content": "## Setting Project on Local System :-\n\n\n Fork the Repository of Project\n\n\n\n( You will see this on Top Right of Github Repository !)\nClone your fork to your local machine\n\n( Click on the Green Code button and Copy the link `https://github.com/........` )\nOpen Git bash where you want to clone the project ( Avoid On Desktop )\n\nRun Command\n\n`git clone `\n\n```(NOTE: In Place of insert-link paste the link you copied)```\n\nProject Cloned in System🌟\n\n\nAdd 'upstream' repo to list of remotes\nKeeping Your Fork Updated\nIn order to get the latest updates from the development trunk do a one-time setup to establish the main GitHub repo as a remote by entering:\n\n`git remote add upstream https://github.com/meshery/meshery.git`\n\n(\"meshery\" is used as the example repo. Be sure to reference the _actual_ repo you're contributing to e.g. \"meshery-linkerd\").\n\n\nVerify the new remote named 'upstream'\n\n`git remote -v`\n\nFetch from upstream remote\nYou'll need to fetch the upstream repo's branches and newest commits to bring them into your repository whenever you wish to update your fork with the latest upstream changes:\n\n`git fetch upstream`\n\nCheckout your master branch and merge upstream\n\nNow, checkout your master branch and merge it with the master branch of the upstream repo:\n\n`git checkout master`\n`git merge upstream/master`\n\nIf the local master branch has no unique commits, git will simply execute a fast-forward. However, if you've been making modifications to master (which, in the vast majority of circumstances, you shouldn't be - see the next section), you may run into issues. Always keep in mind the changes made upstream when doing so.\n\nYour local master branch is now up to date with everything that has been changed upstream.\nCreate a Branch (to avoid conflicts)\n\nIt's essential to create a new branch whenever you start working on a new feature or bugfix. Not only is it a standard git workflow, but it also organises and separates your modifications from the main branch, allowing you to simply submit and manage several pull requests for each task you finish.\n\nFollow the steps below to establish a new branch and begin working on it.\n\nCheck out the master branch; from which your new branch will be derived.\n\n`git checkout master`\n\nCreate a new branch (Give your branch a simple, informative name.)\n\nFor continuous integration changes use\n\n`ci/your_username/issue#`  OR\n `feature/your_username/name_of_feature`\n\nFor bugs use\n\n`bug/your_username/issue#` \n OR\n `bug/your_username/name_of_bug`\n\n\n`git branch feature/jdoe/567`\nSwitch to your new branch\n\n`git checkout feature/jdoe/567`\n```(NOTE: Use the name of the branch you created instead of 'feature/jdoe/567'.)```\n\nNow you may start hacking and make any changes you desire.🚀\n\n\nStage the Changes\n\n`git add [files-changed]`\n\n```(NOTE: This will stage all the changes you have made.)```\n\n\nCommit Changes\n\n`git commit -m \"MESSAGE\"`\n\n```(NOTE: Instead of 'MESSAGE,' include a commit message so the maintainer can see what you've done.Also make sure to get the DCO signed.)```\n\n\nCreating Pull Request on Github\n\nBefore submitting your pull request, you should clean up your branch and make it as easy as possible for the maintainer of the original repository to test, accept, and integrate your work.\n\nIf any commits to the upstream master branch have been made during the period you've been working on your changes, you'll need to rebase your development branch so that merging it will be a simple fast-forward with no conflict resolution work.\n\n\nFetch upstream master and merge with your repo's master branch\n\n`git fetch upstream`\n\n`git checkout master`\n\n`git merge upstream/master`\n\n\nIf there were any new commits, rebase your development branch\n\n`git checkout feature/jdoe/567`\n`git rebase master`\n\nNow, it may be desirable to squash some of your smaller commits down into a small number of larger more cohesive commits. You can do this with an interactive rebase:\n\nRebase all commits on your development branch\n\n\n`git checkout`\n`git rebase -i master`\n\n\nThis will open up a text editor where you can specify which commits to squash.\n\nReferences\nGit Reference Docs\n\ngit-rebase / Interactive Mode\n\nSubmit the Changes\nGo to the page for your fork on GitHub, select your development branch, then click the pull request button once you've committed and submitted all of your changes. Simply upload the changes to GitHub if you need to make any changes to your pull request.\n\nYour pull request will track and update changes in your development branch automatically.🌸"
					}



	};
</script>
<script src="/v0.5/assets/js/lunr.min.js"></script>
<script src="/v0.5/assets/js/search.js"></script>


<!-- <script
  src="https://code.jquery.com/jquery-3.3.1.min.js"
  integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8="
  crossorigin="anonymous"></script>

<script>
$(document).ready(function() {

    var toc = $('#TOC');

    // Select each header
    sections = $('.td-content h1');
        $.each(sections, function(idx, v) {
            section = $(v);
            var div_id = $(section).attr('id');
            if(!section.hasClass('noTOC')){
               var div_text = section.text().split('¶')[0];
              var parent = $("#" + div_id)
              var content = '<li id="link_' + div_id + '" class="md-nav__item"><a class="md-nav__link" href="#' + div_id + '" title="' + div_text +'">' + div_text +'</a></li>';
              $(toc).append(content);
            }

            // Add section code to subnavigation
            var children = $('<nav class="md-nav"><ul class="md-nav__list"></nav></ul>')
            var contenders = $("#" + div_id).nextUntil("h1");
            $.each(contenders, function(idx, contender){
               if( !$(contender).hasClass("noTOC") && ($(contender).is('h2') || $(contender).is('h3')) ) {
                   var contender_id = $(contender).attr('id');
                   var contender_text = $(contender).text().split('¶')[0];
                   var content = '<li class="md-nav__item"><a class="md-nav__link" href="#' + contender_id + '" title="' + contender_text +'">' + contender_text +'</a></li>';
                   children.append(content);
                }
             })
             $("#link_" + div_id).append(children);
        });
        //added 'selected' tag to the first element of toc
        $('.md-nav__link').first().addClass('selected');

        $(window).scroll(function(e){
          // Detect how far are we from the top of the page
          let windowTop = $(this).scrollTop();
          // Loop through every navigation menu item
          $('.md-nav__link').each(function (event) {
              if (windowTop >= $($(this).attr('href')).offset().top - 100) {
              // Remove 'selected' from previously highlighted menu items
              $('.selected').removeClass('selected');
              // Highlight the current menu item by adding 'selected' class
              $(this).addClass('selected');
          }
          if($(window).scrollTop() + $(window).height() > $(document).height() - 10) {
            $('.selected').removeClass('selected');
              $(this).addClass('selected');
   }
        });
      })
    });
</script> -->

              <br/>


           </div>
          </main>
        </div>
      </div>
      <footer class="footer bg-dark py-3 row d-print-none">
  <div class="container-fluid mx-sm-5">
    <div class="row">
<!-- meshery-custom-begin"
      <div class="col-6 col-sm-4 text-xs-center order-sm-2">

<ul class="list-inline mb-0">
  <li class="list-inline-item mx-2 h3" data-toggle="tooltip" data-placement="top" title="" aria-label="Twitter" data-original-title="Twitter">
    <a class="text-white" target="_blank" href="https://twitter.com/layer5">
      <i class="fab fa-twitter"></i>
    </a>
  </li>
</ul>
</div>
<div class="col-6 col-sm-4 text-right text-xs-center order-sm-3">
<ul class="list-inline mb-0">
  <li class="list-inline-item mx-2 h3" data-toggle="tooltip" data-placement="top" title="" aria-label="GitHub" data-original-title="GitHub">
    <a class="text-white" target="_blank" href="https://github.com/meshery/meshery">
      <i class="fab fa-github"></i>
    </a>
  </li>
</ul>
meshery-custom-end -->

<div class="col-12 col-sm-4 text-center py-2 order-sm-2">
  <div class="text-white">&copy; 2022 The Meshery Authors</div>


  <!-- meshery-custom-begin -->

  <p class="mt-2">

  <div class="footer-icons-list">
    <div class="footer-icons">
      <a class="social__link social__link--forum" href="https://discuss.layer5.io" target="_blank" rel="noreferrer">
        <img height="30px" src="" alt="forum">
        <span class="footer-icons-text">Layer5 discussion forum</span>
      </a>
    </div>

    <div class="footer-icons">
      <a class="social__link social__link--mail" href="mailto:community@layer5.io" target="_blank" rel="noreferrer">
        <img height="30px" width="30px" src="" alt="mail">
        <span class="footer-icons-text">Get connected with the Layer5 community</span>
      </a>
    </div>

    <div class="footer-icons">
      <a class="social__link social__link--slack" href="http://slack.layer5.io/" target="_blank" rel="noreferrer">
        <img class="slack" height="30px" width="30px" src="" alt="slack">
        <span class="footer-icons-text">Join the Layer5 Slack</span>
      </a>
    </div>

    <div class="footer-icons">
      <a class="social__link--calendar" href="https://bit.ly/2SbrRhe">
        <svg xmlns="http://www.w3.org/2000/svg" width="30px" height="30px" viewBox="0 0 18 18" xmlns:v="https://vecta.io/nano"><path d="M3.5 0a.5.5 0 0 1 .5.5V1h8V.5a.5.5 0 0 1 1 0V1h1a2 2 0 0 1 2 2v11a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V3a2 2 0 0 1 2-2h1V.5a.5.5 0 0 1 .5-.5zM1 4v10a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V4H1z"/><g stroke-linecap="undefined" stroke-linejoin="undefined"><path d="M-3.468 8.168h-.033m25.313-4.242l-.063-.254M7.858 4.814v9.387"/><path d="M1.833 9.507h12.051"/></g></svg>
        <span class="footer-icons-text">Subscribe to the community calender</span>
      </a>
  </div>

   <div class="footer-icons">
      <a class="social__link social__link--twitter" href="https://twitter.com/layer5" target="_blank" rel="noreferrer">
        <img class="twitter" height="30px" width="30px" src="" alt="twitter">
        <span class="footer-icons-text">Follow Layer5 on Twitter</span>
      </a>
    </div>

    <div class="footer-icons">
      <a class="social__link" href="https://github.com/layer5io" target="_blank" rel="noreferrer">
        <img height="30px" width="30px" class="github" src="" alt="github">
        <span class="footer-icons-text">Contribute to Layer5 projects</span>
      </a>
    </div>

    <div class="footer-icons">
      <a class="social__link social__link--linkedin" href="https://www.linkedin.com/company/layer5" target="_blank" rel="noreferrer">
        <img class="linkedin" height="30px" width="30px" src="" alt="linkedin">
        <span class="footer-icons-text">Connect to Layer5 on Linkedin</span>
      </a>
    </div>

    <div class="footer-icons">
      <a class="social__link social__link--youtube" href="https://www.youtube.com/Layer5io?sub_confirmation=1" target="_blank" rel="noreferrer">
        <img class="youtube" height="30px" width="30px" src="" alt="youtube">
        <span class="footer-icons-text">Watch community meeting recordings</span>
      </a>
    </div>

    <div class="footer-icons">
      <a class="social__link social__link--docker" href="https://hub.docker.com/u/layer5/" target="_blank" rel="noreferrer">
        <img class="docker" height="30px" width="30px" src="" alt="docker">
        <span class="footer-icons-text">Access Docker images for Layer5 projects</span>
      </a>
    </div>
  </div>
    </p>
  <!-- meshery-custom-end -->
      </div>
    </div>
  </div>
</footer>

<script src="https://code.jquery.com/jquery-3.2.1.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/clipboard@1/dist/clipboard.min.js"></script>

<script type="text/javascript" src="/v0.5/assets/js/lightbox.js"></script>
<link rel="stylesheet" href="/assets/css/lightbox.css">

    </div>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.3/umd/popper.min.js" integrity="sha384-ZMP7rVo3mIykV+2+9J3UJ46jBk0WLaUAdn689aCwoqbBJiSnjAK/l8WvCWPIPm49" crossorigin="anonymous"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/js/bootstrap.min.js" integrity="sha384-ChfqqxuZUCnJSK3+MXmPNIyE6ZbWh2IMqE241rYiqJxyMiZ6OW/JmZQ5stwEULTy" crossorigin="anonymous"></script>
<script src="/v0.5/assets/js/main.js"></script>

    <script async src='https://www.google-analytics.com/analytics.js'></script>
<script type="application/javascript">
var doNotTrack = false;
if (!doNotTrack) {
	window.ga=window.ga||function(){(ga.q=ga.q||[]).push(arguments)};ga.l=+new Date;
	ga('create', 'UA-00000000-0', 'auto');
	ga('send', 'pageview');
}
</script>

  </body>
</html>
<script
  src="https://code.jquery.com/jquery-3.3.1.min.js"
  integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8="
  crossorigin="anonymous"></script>

<script>
$(document).ready(function() {

    var toc = $('#TOC');

    // Select each header
    sections = $('.td-content h1');
        $.each(sections, function(idx, v) {
            section = $(v);
            var div_id = $(section).attr('id');
            if(!section.hasClass('noTOC')){
               var div_text = section.text().split('¶')[0];
              var parent = $("#" + div_id)
              var content = '<li id="link_' + div_id + '" class="md-nav__item"><a class="md-nav__link" href="#' + div_id + '" title="' + div_text +'">' + div_text +'</a></li>';
              $(toc).append(content);
            }

            // Add section code to subnavigation
            var children = $('<nav class="md-nav"><ul class="md-nav__list"></nav></ul>')
            var contenders = $("#" + div_id).nextUntil("h1");
            $.each(contenders, function(idx, contender){
               if( !$(contender).hasClass("noTOC") && ($(contender).is('h2') || $(contender).is('h3')) ) {
                   var contender_id = $(contender).attr('id');
                   var contender_text = $(contender).text().split('¶')[0];
                   var content = '<li class="md-nav__item"><a class="md-nav__link" href="#' + contender_id + '" title="' + contender_text +'">' + contender_text +'</a></li>';
                   children.append(content);
                }
             })
             $("#link_" + div_id).append(children);
        });
        //added 'selected' tag to the first element of toc
        $('.md-nav__link').first().addClass('selected');

        $(window).scroll(function(e){
          // Detect how far are we from the top of the page
          let windowTop = $(this).scrollTop();
          // Loop through every navigation menu item
          $('.md-nav__link').each(function (event) {
              if (windowTop >= $($(this).attr('href')).offset().top - 100) {
              // Remove 'selected' from previously highlighted menu items
              $('.selected').removeClass('selected');
              // Highlight the current menu item by adding 'selected' class
              $(this).addClass('selected');
          }
          if($(window).scrollTop() + $(window).height() > $(document).height() - 10) {
            $('.selected').removeClass('selected');
              $(this).addClass('selected');
   }
        });
      })
    });
</script>